%!PS-Adobe-2.0
%%Creator: dvips 5.55 Copyright 1986, 1994 Radical Eye Software
%%Title: aij-main.dvi
%%CreationDate: Thu Dec 14 10:46:13 1995
%%Pages: 40
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%DocumentFonts: Times-Roman Times-Italic Times-Bold Symbol
%%+ Times-BoldItalic
%%EndComments
%DVIPSCommandLine: dvips aij-main
%DVIPSParameters: dpi=300, comments removed
%DVIPSSource:  TeX output 1995.12.14:1045
%%BeginProcSet: tex.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage
userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end
%%EndProcSet
%%BeginProcSet: texps.pro
TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2
index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub
dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict
end definefont 3 -1 roll makefont /setfont load]cvx def}def
/ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def
/ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def
end
%%EndProcSet
%%BeginProcSet: special.pro
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
clippath mark{transform{itransform moveto}}{transform{itransform lineto}
}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
maxlength dict begin /magscale false def normalscale currentpoint TR
/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
begin /SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end
%%EndProcSet
TeXDict begin 40258431 52099146 1000 300 300
(/usr/maligne2/misc/chinook/Papers/AIJ95/Package/aij-main.dvi)
@start /Fa 1 51 df<7FFFFF80FFFFFF80C0000180C0000180C0000180C0000180C000
0180C0000180C0000180C0000180C0000180C0000180C0000180C0000180C0000180C000
0180C0000180C0000180C0000180C0000180C0000180C0000180C0000180FFFFFF807FFF
FF8019197C9B22>50 D E /Fb 171[18 17 6[18 2[11 73[{}4
33.333332 /Times-Italic rf /Fc 171[20 18 6[20 2[11 73[{}4
33.333332 /Times-Roman rf /Fd 81[25 53[23 3[13 18 18
3[25 8[20 101[{}7 45.643555 /Times-BoldItalic rf /Fe
208[7 47[{}1 25.000000 /Symbol rf /Ff 145[15 9[15 100[{}2
29.166668 /Times-Italic rf /Fg 152[17 4[23 26 97[{.167 SlantFont}3
41.666668 /Symbol rf /Fh 34 114 df<0000000000200000000000600000000000C0
000000000180000000000300000000000600000000000C00000000001800000000003000
00000000600000000000C0000000000180000000000300000000000600000000000C0000
000000180000000000300000000000600000000000C00000000001800000000003000000
00000600000000000C0000000000180000000000300000000000600000000000C0000000
000180000000000300000000000600000000000C00000000001800000000003000000000
00600000000000C0000000000180000000000300000000000600000000000C0000000000
180000000000300000000000600000000000C000000000008000000000002B2C80AA2A>
0 D<00000200000600000C00000C0000180000180000300000300000600000600000C000
00C0000180000180000300000300000600000600000C00000C0000180000180000300000
300000600000600000C00000C0000180000180000300000300000600000600000C00000C
0000180000180000300000300000600000600000C00000400000172C81AA15>I<000100
03000600060006000C000C000C00180018001800300030003000600060006000C000C000
C00180018001800300030003000600060006000C000C000C001800180018003000300030
00600060006000C000C0004000102C81AA0E>I<004000C000C000C00180018001800180
018003000300030003000300060006000600060006000C000C000C000C000C000C001800
18001800180018003000300030003000300060006000600060006000C000C000C0004000
0A2C81AA08>4 D<0000000000600000000001E0000000000780000000001E0000000000
780000000001E0000000000780000000001E0000000000780000000001E0000000000780
000000001E0000000000780000000001E0000000000780000000001E0000000000780000
000001E0000000000780000000001E0000000000780000000000E0000000000080000000
00002B1780952A>8 D<000000040000000C000000180000003000000030000000600000
00C0000000C00000018000000300000003000000060000000C0000000C00000018000000
300000003000000060000000C0000000C00000018000000300000003000000060000000C
0000000C00000018000000300000003000000060000000C0000000C00000018000000300
000003000000060000000C0000000C00000018000000300000003000000060000000C000
0000400000001E2C81AA1C>10 D<0000200000600000C00000C00000C000018000018000
0300000300000300000600000600000C00000C00000C0000180000180000300000300000
300000600000600000C00000C00001800001800001800003000003000006000006000006
00000C00000C0000180000180000180000300000300000600000600000600000C0000040
0000132C81AA11>12 D<0000000000600000000003E0000000001F8000000000FC000000
0007E0000000003F0000000001F8000000000FC0000000007E0000000003F0000000001F
8000000000FC0000000007E0000000003F0000000000F80000000000C000000000002B10
808E2A>16 D<0000000000600000000000E0000000000380000000000700000000001C00
00000000380000000000E00000000001C0000000000700000000000E0000000000380000
000000700000000001C0000000000380000000000E00000000001C000000000070000000
0000E0000000000380000000000700000000001C0000000000380000000000E000000000
01C0000000000700000000000E0000000000380000000000700000000000C00000000000
8000000000002B1E809C2A>I<0000000080000000018000000003000000000600000000
0C000000000C000000001800000000300000000060000000006000000000C00000000180
0000000180000000030000000006000000000C000000000C000000001800000000300000
000060000000006000000000C00000000180000000030000000003000000000600000000
0C000000001800000000180000000030000000006000000000C000000000C00000000180
0000000300000000030000000006000000000C0000000018000000001800000000300000
00006000000000C0000000004000000000212C81AA1F>19 D<0000002000000060000000
C0000000C0000001800000030000000300000006000000060000000C0000001800000018
000000300000003000000060000000C0000000C000000180000001800000030000000600
0000060000000C0000000C0000001800000030000000300000006000000060000000C000
0001800000018000000300000003000000060000000C0000000C00000018000000180000
00300000006000000060000000C0000000400000001B2C81AA19>I<00100020006000E0
01E003E007E00FE03FC07FC0FFC0FFC03FC00FC003C000C00C1077A815>I<0000000000
600000000000E0000000000180000000000700000000000E000000000018000000000070
0000000000E0000000000380000000000700000000000C00000000003800000000007000
00000000C0000000000380000000000700000000000C0000000000380000000000700000
000000C0000000000380000000000700000000000C000000000038000000000070000000
0001C0000000000380000000000600000000001C00000000003800000000006000000000
00C000000000008000000000002B21809F2A>26 D<0004000800180038007001F003F00F
F01FE07FE0FFE07FE01FE00FC003C001C000400E1172A91C>30 D<000000000060000000
0003E0000000000F80000000007C0000000001F0000000000F80000000003E0000000001
F00000000007C0000000001E0000000000F80000000003E0000000001F00000000007C00
00000003E0000000000F80000000007C0000000000F000000000008000000000002B1380
912A>33 D<0000000000600000000000E000000000018000000000030000000000060000
0000001C0000000000380000000000600000000000C00000000001800000000007000000
00000E0000000000180000000000300000000000600000000001C0000000000380000000
000600000000000C0000000000180000000000700000000000E000000000018000000000
0300000000000600000000001C0000000000380000000000600000000000C00000000001
80000000000700000000000E0000000000180000000000300000000000600000000000C0
00000000008000000000002B2580A32A>44 D<8000F000FC00FF00FFE0FFFEFFFEFFE0FF
00FC00F00080000F0C67852A>I<000080000700007E000FFC00FFF8007FF0007FF0003F
E0001FC0001FC0000F8000070000070000020000110E679B2A>51
D<06000600060006000F000F000F001F801F803FC03FC07FE07FE07FE0FFF00C0F86A72A
>54 D<800000000000C000000000006000000000003000000000001800000000000C0000
00000006000000000003000000000001800000000000C000000000006000000000003000
000000001800000000000C000000000006000000000003000000000001800000000000C0
00000000006000000000003000000000001800000000000C000000000006000000000003
000000000001800000000000C00000000000600000000000300000000000180000000000
0C000000000006000000000003000000000001800000000000C000000000006000000000
003000000000001800000000000C00000000000600000000000300000000000180000000
0000C00000000000600000000000202B2C80AA2A>64 D<4000C000C00060006000600030
00300030001800180018000C000C000C0006000600060003000300030001800180018000
C000C000C0006000600060003000300030001800180018000C000C000C00060006000600
030001102C81AA0E>66 D<4000C000C000C0006000600060006000600030003000300030
003000180018001800180018000C000C000C000C000C000C000600060006000600060003
0003000300030003000180018001800180018000C000C000C000400A2C81AA08>68
D<800000000000E000000000007800000000001E000000000007800000000001E0000000
00007800000000001E000000000007800000000001E000000000007800000000001E0000
00000007800000000001E000000000007800000000001E000000000007800000000001E0
00000000007800000000001E000000000007800000000001E00000000000602B1780952A
>72 D<40000000C0000000600000003000000030000000180000000C0000000C00000006
00000003000000030000000180000000C0000000C0000000600000003000000030000000
180000000C0000000C0000000600000003000000030000000180000000C0000000C00000
00600000003000000030000000180000000C0000000C0000000600000003000000030000
000180000000C0000000C0000000600000003000000030000000180000000C000000041E
2C81AA1C>74 D<400000C000006000006000006000003000003000001800001800001800
000C00000C000006000006000006000003000003000001800001800001800000C00000C0
00006000006000003000003000003000001800001800000C00000C00000C000006000006
000003000003000003000001800001800000C00000C00000C0000060000020132C81AA11
>76 D<001000F007E03FE0FFE07FE03FE01FE00FE007E003E003E001E000E00060006000
200C117D910E>78 D<800000000000F000000000007E00000000000FC00000000001F800
000000003F000000000007E00000000000FC00000000001F800000000003F00000000000
7E00000000000FC00000000001F800000000003F000000000007E00000000000E02B1080
8E2A>80 D<800000000000C000000000007000000000003800000000000E000000000007
000000000001C00000000000E000000000003800000000001C0000000000070000000000
03800000000000E000000000007000000000001C00000000000E00000000000380000000
0001C000000000007000000000003800000000000E000000000007000000000001C00000
000000E000000000003800000000001C000000000007000000000003800000000000E000
00000000602B1E809C2A>I<4000000000C0000000006000000000300000000018000000
0018000000000C00000000060000000003000000000300000000018000000000C0000000
00C00000000060000000003000000000180000000018000000000C000000000600000000
03000000000300000000018000000000C000000000600000000060000000003000000000
18000000000C000000000C00000000060000000003000000000180000000018000000000
C00000000060000000006000000000300000000018000000000C000000000C0000000006
00000000030000000001800000000080212C81AA1F>83 D<40000000C000000060000000
600000003000000018000000180000000C0000000C000000060000000300000003000000
018000000180000000C000000060000000600000003000000030000000180000000C0000
000C000000060000000600000003000000018000000180000000C0000000C00000006000
0000300000003000000018000000180000000C0000000600000006000000030000000300
00000180000000C0000000C000000060000000201B2C81AA19>I<800000000000C00000
0000006000000000003800000000001C000000000006000000000003800000000001C000
000000007000000000003800000000000C000000000007000000000003800000000000C0
00000000007000000000003800000000000C000000000007000000000003800000000000
C000000000007000000000003800000000000C0000000000070000000000038000000000
00E000000000007000000000001800000000000E00000000000700000000000180000000
0000E00000000000602B21809F2A>90 D<800000000000F000000000007C00000000000F
800000000003E000000000007C00000000001F000000000003E00000000000F800000000
001E000000000007C00000000001F000000000003E00000000000F800000000001F00000
0000007C00000000000F800000000003E00000000000602B1380912A>97
D<800000000000C000000000006000000000003000000000001800000000000E00000000
0007000000000001800000000000C000000000006000000000003800000000001C000000
000006000000000003000000000001800000000000E00000000000700000000000180000
0000000C000000000006000000000003800000000001C000000000006000000000003000
000000001800000000000E000000000007000000000001800000000000C0000000000060
00000000003800000000001C000000000006000000000003000000000001800000000000
E00000000000602B2580A32A>108 D<0800000C00001E00001F00001F80003FC0003FF0
003FF8007FFC007FFF007FFF80C00000110C688A2A>113 D E /Fi
6 117 df<FF80000000000000000000FFFF000000000000000000007FF0000000000000
00000000FF000000000000000000000FE000000000000000000000FC0000000000000000
00001F0000000000000000000003E000000000000000000000F800000000000000000000
1E00000000000000000000078000000000000000000001C0000000000000000000007000
0000000000000000003C000000000000000000000E000000000000000000000300000000
00000000000001C000000000000000000000E00000000000000000000030000000000000
000000001C000000000000000000000E0000000000000000000003000000000000000000
00018000000000000000000000C000000000000000000000600000000000000000000030
0000000000000000000018000000000000000000000C0000000000000000000006000000
000000000000000300000000000000000000018000000000000000000001800000000000
0000000000C0000000000000000000006000000000000000000000300000000000000000
0000300000000000000000000018000000000000000000000C0000000000000000000006
000000000000000000000600000000000000000000030000000000000000000003000000
00000000000000018000000000000000000000C000000000000000000000C00000000000
000000000060000000000000000000006000000000000000000000300000000000000000
000030000000000000000000001800000000000000000000180000000000000000000018
000000000000000000000C000000000000000000000C0000000000000000000006000000
000000000000000600000000000000000000060000000000000000000003000000000000
000000000300000000000000000000030000000000000000000001800000000000000000
0001800000000000000000000180000000000000000000018000000000000000000000C0
00000000000000000000C000000000000000000000C000000000000000000000C0000000
000000000000006000000000000000000000600000000000000000000060000000000000
000000006000000000000000000000600000000000000000000060000000000000000000
006000000000000000000000300000000000000000000030000000000000000000003000
000000000000000000300000000000000000000030000000000000000000003000000000
000000000000300000000000000000000030000000000000000000003000000000000000
000000105455D281A6>36 D<000000000000000000001000000000000000000000300000
000000000000000030000000000000000000003000000000000000000000300000000000
000000000030000000000000000000003000000000000000000000300000000000000000
000030000000000000000000003000000000000000000000600000000000000000000060
000000000000000000006000000000000000000000600000000000000000000060000000
0000000000000060000000000000000000006000000000000000000000C0000000000000
00000000C000000000000000000000C000000000000000000000C0000000000000000000
018000000000000000000001800000000000000000000180000000000000000000018000
000000000000000003000000000000000000000300000000000000000000030000000000
000000000006000000000000000000000600000000000000000000060000000000000000
00000C000000000000000000000C00000000000000000000180000000000000000000018
000000000000000000001800000000000000000000300000000000000000000030000000
0000000000000060000000000000000000006000000000000000000000C0000000000000
00000000C000000000000000000001800000000000000000000300000000000000000000
0300000000000000000000060000000000000000000006000000000000000000000C0000
000000000000000018000000000000000000003000000000000000000000300000000000
00000000006000000000000000000000C000000000000000000001800000000000000000
000180000000000000000000030000000000000000000006000000000000000000000C00
000000000000000000180000000000000000000030000000000000000000006000000000
000000000000C00000000000000000000180000000000000000000030000000000000000
00000E000000000000000000001C000000000000000000003000000000000000000000E0
00000000000000000001C000000000000000000003000000000000000000000E00000000
0000000000003C000000000000000000007000000000000000000001C000000000000000
000007800000000000000000001E00000000000000000000F800000000000000000003E0
0000000000000000001F00000000000000000000FC0000000000000000000FE000000000
0000000000FF0000000000000000007FF00000000000000000FFFF000000000000000000
FF800000000000000000005455D2D4A6>I<4000000000000000000000C0000000000000
00000000C000000000000000000000C000000000000000000000C0000000000000000000
00C000000000000000000000C000000000000000000000C000000000000000000000C000
000000000000000000C00000000000000000000060000000000000000000006000000000
000000000000600000000000000000000060000000000000000000006000000000000000
000000600000000000000000000030000000000000000000003000000000000000000000
300000000000000000000030000000000000000000003000000000000000000000180000
0000000000000000180000000000000000000018000000000000000000000C0000000000
00000000000C000000000000000000000C00000000000000000000060000000000000000
000006000000000000000000000600000000000000000000030000000000000000000003
000000000000000000000180000000000000000000018000000000000000000001800000
0000000000000000C000000000000000000000C000000000000000000000600000000000
000000000060000000000000000000003000000000000000000000180000000000000000
000018000000000000000000000C000000000000000000000C0000000000000000000006
000000000000000000000300000000000000000000030000000000000000000001800000
0000000000000000C000000000000000000000C000000000000000000000600000000000
000000000030000000000000000000001800000000000000000000180000000000000000
00000C000000000000000000000600000000000000000000030000000000000000000001
8000000000000000000000C0000000000000000000006000000000000000000000300000
000000000000000018000000000000000000000C00000000000000000000060000000000
0000000000038000000000000000000001C0000000000000000000006000000000000000
00000038000000000000000000001C000000000000000000000700000000000000000000
038000000000000000000000E00000000000000000000078000000000000000000001C00
000000000000000000070000000000000000000003C000000000000000000000F8000000
000000000000003E0000000000000000000007C000000000000000000001F80000000000
00000000003F0000000000000000000007F800000000000000000000FFE0000000000000
00000007FFF80000000000000000001FF8555580D4A6>I<0000000000000000001FF800
0000000000000007FFF80000000000000000FFE0000000000000000007F8000000000000
0000003F00000000000000000001F800000000000000000007C00000000000000000003E
00000000000000000000F800000000000000000003C00000000000000000000700000000
0000000000001C000000000000000000007800000000000000000000E000000000000000
0000038000000000000000000007000000000000000000001C0000000000000000000038
000000000000000000006000000000000000000001C00000000000000000000380000000
00000000000006000000000000000000000C000000000000000000001800000000000000
00000030000000000000000000006000000000000000000000C000000000000000000001
80000000000000000000030000000000000000000006000000000000000000000C000000
000000000000001800000000000000000000180000000000000000000030000000000000
000000006000000000000000000000C000000000000000000000C0000000000000000000
018000000000000000000003000000000000000000000300000000000000000000060000
00000000000000000C000000000000000000000C00000000000000000000180000000000
000000000018000000000000000000003000000000000000000000600000000000000000
00006000000000000000000000C000000000000000000000C00000000000000000000180
000000000000000000018000000000000000000001800000000000000000000300000000
000000000000030000000000000000000006000000000000000000000600000000000000
00000006000000000000000000000C000000000000000000000C00000000000000000000
0C0000000000000000000018000000000000000000001800000000000000000000180000
000000000000000030000000000000000000003000000000000000000000300000000000
000000000030000000000000000000003000000000000000000000600000000000000000
000060000000000000000000006000000000000000000000600000000000000000000060
000000000000000000006000000000000000000000C000000000000000000000C0000000
00000000000000C000000000000000000000C000000000000000000000C0000000000000
00000000C000000000000000000000C000000000000000000000C0000000000000000000
00C000000000000000000000400000000000000000000055558081A6>I<000000FFF000
000000000FFFFF00000000003F000FC000000000F00000F000000003C000003C0000000F
0000000F0000001C000000038000003000000000C000006000000000600000C000000000
300001800000000018000300000000000C00060000000000060006000000000006000C00
0000000003000C0000000000030018000000000001801800000000000180300000000000
00C030000000000000C06000000000000060600000000000006060000000000000606000
000000000060C000000000000030C000000000000030C000000000000030C00000000000
0030C000000000000030C000000000000030C000000000000030C000000000000030C000
000000000030C000000000000030C000000000000030C000000000000030600000000000
006060000000000000606000000000000060600000000000006030000000000000C03000
0000000000C0180000000000018018000000000001800C000000000003000C0000000000
0300060000000000060006000000000006000300000000000C00018000000000180000C0
0000000030000060000000006000003000000000C000001C000000038000000F0000000F
00000003C000003C00000000F00000F0000000003F000FC0000000000FFFFF0000000000
00FFF00000003C3C9E9D3A>109 D<00FC0007FF800FFFC01FFFE03FFFF07FFFF87FFFF8
FFFFFCFFFFFCFFFFFCFFFFFCFFFFFCFFFFFCFFFFFCFFFFFC7FFFF87FFFF83FFFF01FFFE0
0FFFC007FF8000FC0016168B8A15>116 D E /Fj 2 2 df<002000400080010003000600
06000C000C00180018003800300030007000700070006000E000E000E000E000E000E000
E000E000E000E000E000E000E0006000700070007000300030003800180018000C000C00
06000600030001000080004000200B317A8113>0 D<800040002000100018000C000C00
060006000300030003800180018001C001C001C000C000E000E000E000E000E000E000E0
00E000E000E000E000E000E000C001C001C001C001800180038003000300060006000C00
0C00180010002000400080000B317F8113>I E /Fk 152[15 4[21
24 97[{.167 SlantFont}3 37.500000 /Symbol rf /Fl 135[18
2[21 12 16 16 21 21 21 21 30 12 18 12 12 21 21 1[18 21
18 21 21 34[28 1[28 60[{}23 41.666668 /Times-Italic rf
/Fm 5 106 df<FFFFFF80FFFFFF8019027D8A20>0 D<0000600000600000C00000C00001
80000180000180000300000300000600000600000C00000C000018000018000018000030
0000300000600000600000C00000C0000180000180000300000300000300000600000600
000C00000C0000180000180000300000300000300000600000600000C000004000001328
7A9D00>54 D<00040000000C0000000C0000000C0000000C0000000C0000000C0000000C
0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C
0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C
0000FFFFFFE0FFFFFFE01B1C7D9B21>63 D<008001800300030003000600060006000C00
0C000C00180018001800300030003000600060006000C000C00060006000600030003000
30001800180018000C000C000C0006000600060003000300030001800080092A7C9E10>
104 D<C000C0006000600060003000300030001800180018000C000C000C000600060006
00030003000300018001800300030003000600060006000C000C000C0018001800180030
0030003000600060006000C000C000092A7E9E10>I E /Fn 5 102
df<FFFFC0FFFFC012027D871A>0 D<40C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0FF7F081E7B950F>98 D<01030303030303030303030303030303030303
030303030303030303FFFF081E80950F>I<7FFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C040081E7B950F>I<FFFF030303030303030303030303030303
03030303030303030303030301081E80950F>I E /Fo 6 106 df<FFFFFFC0FFFFFFC01A
027C8B23>0 D<00000C00000C0000180000180000300000300000600000600000C00000
C0000180000180000180000300000300000600000600000C00000C000018000018000030
0000300000600000600000C00000C0000180000180000300000300000600000600000600
000C00000C0000180000180000300000300000600000600000C00000400000162C7AA000
>54 D<4000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0
00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0
00C000C000C000C000C000C000C000C000C000FFE07FE00B2E78A114>98
D<0020006000600060006000600060006000600060006000600060006000600060006000
600060006000600060006000600060006000600060006000600060006000600060006000
6000600060006000600060006000600060FFE0FFE00B2E80A114>I<004000C001800180
01800300030003000600060006000C000C00180018001800300030003000600060006000
C000C0006000600060003000300030001800180018000C000C0006000600060003000300
030001800180018000C000400A2E7CA112>104 D<C000C0006000600060003000300030
001800180018000C000C0006000600060003000300030001800180018000C000C0018001
8001800300030003000600060006000C000C001800180018003000300030006000600060
00C000C0000A2E7DA112>I E /Fp 47[40 30[23 2[23 51[18 20
20 30 20 23 13 18 18 23 23 23 23 33 13 20 13 13 23 23
13 20 23 20 23 23 10[28 33 25 23 28 1[28 33 30 38 25
30 20 15 33 33 28 28 33 30 28 28 2[31 31 31 15 15 23
23 2[23 23 23 23 23 23 1[11 15 11 1[23 15 15 15 35 38[{}71
45.643555 /Times-Italic rf /Fq 69[17 11[21 3[17 47[17
19 19 27 19 19 10 15 12 1[19 19 19 29 10 19 1[10 19 19
12 17 19 17 19 17 3[12 1[12 3[35 2[23 21 25 4[33 6[21
1[27 1[25 27 12[19 19 19 19 19 10 9 12 9 1[19 42[{}48
37.500000 /Times-Roman rf /Fr 201[12 12 12 12 12 12 49[{}6
25.000000 /Times-Roman rf /Fs 67[42 4[19 3[23 1[23 10[21
30 1[23 10 117[10 44[{}9 41.666668 /Symbol rf /Ft 201[15
15 15 15 15 15 15 4[16 43[{}8 29.166668 /Times-Roman
rf /Fu 184[27 71[{}1 45.624989 /Symbol rf /Fv 47[45 12[15
8[20 8[23 1[25 25 3[20 47[20 23 23 33 23 23 13 18 15
23 23 23 23 35 13 23 13 13 23 23 15 20 23 20 23 20 3[15
1[15 1[33 33 43 33 33 28 25 30 1[25 33 33 40 28 33 18
15 33 33 25 28 33 30 30 33 1[20 1[26 1[13 13 23 23 23
23 23 23 23 23 23 23 13 11 15 11 26 23 15 15 15 1[38
37[{}83 45.624989 /Times-Roman rf /Fw 130[18 1[18 1[23
1[33 23 25 15 18 20 25 25 23 25 38 13 25 1[13 25 23 15
20 25 20 25 23 10[33 1[30 25 33 1[28 1[33 43 3[18 2[28
30 33 33 30 33 6[15 2[23 23 23 23 23 23 23 2[11 15 2[23
42[{}50 45.643555 /Times-Bold rf /Fx 76[21 1[21 2[37
7[19 27 1[21 9 115[9 1[9 44[{}9 37.500000 /Symbol rf
/Fy 130[16 1[16 1[21 1[30 1[23 14 16 18 1[23 21 23 35
12 23 1[12 23 1[14 18 23 18 23 21 13[23 7[32 9[30 6[14
15[21 2[14 39[{}28 41.666668 /Times-Bold rf /Fz 184[25
71[{}1 41.666668 /Symbol rf /FA 60[14 20[23 51[18 21
21 30 21 21 12 16 14 21 21 21 21 32 12 21 12 12 21 21
14 18 21 18 21 18 3[14 1[14 2[30 39 30 30 25 23 28 1[23
30 30 37 25 2[14 30 30 23 25 30 28 28 30 3[23 1[12 12
21 21 21 21 21 21 21 21 21 21 12 10 14 10 23 21 14 14
14 39[{}73 41.666668 /Times-Roman rf /FB 136[33 1[25
14 19 19 1[25 25 25 36 14 1[14 14 25 1[14 22 1[22 25
25 32[46 17[12 46[{}20 50.000000 /Times-Italic rf /FC
134[25 2[25 25 14 19 17 2[25 25 39 14 25 14 14 25 1[17
22 25 22 25 22 9[47 1[36 1[28 2[28 5[19 4[30 36 1[33
36 7[25 3[25 25 2[25 4[12 44[{}34 50.000000 /Times-Roman
rf /FD 135[36 3[20 28 24 1[36 36 36 56 20 2[20 36 36
1[32 36 2[32 19[64 6[40 1[52 1[48 52 19[24 45[{}21 72.000000
/Times-Roman rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 270 263 a FD(Best-First)17 b(Fixed-Depth)g(Minimax)g
(Algorithms)385 390 y FC(Aske)c(Plaat,)f(Erasmus)h(University)m(,)25
b FB(plaat@theory.lcs)l(.mit)-6 b(.edu)229 448 y FC(Jonathan)13
b(Schaef)o(fer)n(,)f(University)g(of)g(Alberta,)24 b
FB(jonathan@cs.ualberta.ca)378 506 y FC(W)n(im)12 b(Pijls,)g(Erasmus)h
(University)m(,)25 b FB(whlmp@cs.few)l(.eur)-6 b(.nl)366
564 y FC(Arie)12 b(de)h(Bruin,)f(Erasmus)h(University)m(,)25
b FB(arie@cs.few)l(.eur)-6 b(.nl)428 666 y FA(Erasmus)11
b(University)m(,)276 b(University)8 b(of)i(Alberta,)312
716 y(Department)h(of)f(Computer)f(Science,)52 b(Department)10
b(of)g(Computing)e(Science,)350 766 y(Room)i(H4-31,)g(P)-5
b(.O.)12 b(Box)d(1738,)121 b(615)10 b(General)g(Services)h(Building,)
423 816 y(3000)e(DR)h(Rotterdam,)289 b(Edmonton,)10 b(Alberta,)458
865 y(The)h(Netherlands)343 b(Canada)11 b(T6G)f(2H1)719
964 y FC(December)i(14,)h(1995)838 1131 y Fy(Abstract)311
1210 y FA(This)h(article)h(has)g(three)g(main)g(contribution)o(s)d(to)i
(our)g(understanding)f(of)i(minimax)249 1260 y(search:)311
1310 y(First,)g(a)f(new)h(formulation)d(for)i(Stockman')n(s)g(SSS*)g
(algorithm,)g(based)h(on)f(Alpha-)249 1360 y(Beta,)f(is)e(presented.)21
b(It)11 b(solves)h(all)g(the)f(perceived)i(drawbacks)f(of)g(SSS*,)h
(\256nally)e(trans-)249 1410 y(forming)e(it)g(into)f(a)j(practical)f
(algorithm.)k(In)9 b(ef)o(fect,)j(we)e(show)g(that)f(SSS*)h(=)h
(Alpha-Beta)249 1459 y(+)f(transposition)e(tables.)15
b(The)c(crucial)f(step)g(is)f(the)h(realization)g(that)f(transposition)
f(tables)249 1509 y(contain)i(so-called)g(solution)f(trees,)i
(structures)g(that)f(are)h(used)g(in)f(best-\256rst)g(search)i(algo-)
249 1559 y(rithms)h(like)g(SSS*.)25 b(Having)13 b(created)i(a)f
(practical)g(version,)g(we)g(present)g(performance)249
1609 y(measurements)e(with)d(tournament)g(game-playing)h(programs)g
(for)g(three)h(dif)o(ferent)e(mini-)249 1659 y(max)h(games,)i(yielding)
d(results)h(that)f(contradict)h(a)g(number)h(of)f(publications.)311
1708 y(Second,)h(based)g(on)g(the)f(insights)f(gained)h(in)g(our)g
(attempts)g(at)h(understanding)e(SSS*,)249 1758 y(we)f(present)g(a)h
(framework)f(that)g(facilitates)f(the)h(construction)f(of)g(several)i
(best-\256rst)f(\256xed-)249 1808 y(depth)h(game-tree)j(search)f
(algorithms,)f(known)f(and)i(new)m(.)16 b(The)11 b(framework)g(is)f
(based)h(on)249 1858 y(depth-\256rst)c(null-)o(wind)o(ow)g(Al)o
(pha-Beta)g(search,)f(enhanced)h(with)g(storage)g(to)g(allow)g(f)o(or)g
(t)o(he)249 1908 y(re\256ning)f(of)h(previous)f(search)j(results.)k(It)
7 b(focuses)h(attention)e(on)g(the)h(essential)h(dif)o(ferences)249
1957 y(between)i(algorithms.)311 2007 y(Third,)18 b(a)f(new)f(instance)
h(of)f(this)g(framework)g(is)h(presented.)34 b(It)15
b(performs)i(better)249 2057 y(than)8 b(algorithms)f(that)h(are)i
(currently)d(used)i(in)f(most)h(state-of-the-art)e(game-playing)h(pro-)
249 2107 y(grams.)26 b(W)m(e)14 b(provide)e(experimental)i(evidence)g
(to)f(explain)g(why)g(this)g(new)h(algorithm,)249 2157
y(MTD\()p Fx(\246)p FA(\),)c(performs)g(better)g(than)g(other)g
(\256xed-depth)f(minimax)h(algorithms.)249 2256 y Fy(Keywords:)21
b FA(Game-tree)14 b(search,)h(Minimax)d(search,)j(Alpha-Beta,)e(SSS*,)h
(T)o(ransposi-)249 2306 y(tion)9 b(tables,)h(Null-window)e(search,)k
(Solution)c(trees.)135 2534 y Fw(1)45 b(Intr)o(oduction)135
2600 y Fv(The)7 b(Alpha-Beta)g(tree-searching)g(algorithm)g([18)l(])g
(has)g(been)g(in)g(use)g(since)g(the)g(1)o(960')m(s.)12
b(No)7 b(other)135 2657 y(minimax)13 b(search)g(algorithm)g(has)g
(achieved)f(the)h(wide-spread)g(use)g(in)f(practical)h(applications)904
2803 y(1)p eop
%%Page: 2 2
2 1 bop 135 81 a Fv(that)20 b(Alpha-Beta)g(has.)43 b(Thirty)19
b(years)i(of)f(research)h(has)f(found)f(ways)h(of)h(improving)d(the)135
138 y(algorithm')m(s)f(ef)o(\256ciency)m(,)i(and)f(variants)e(such)h
(as)g(NegaScout)g([41])h(and)f(PVS)h([8)o(])g(are)g(quite)135
194 y(popular)m(.)39 b(Interesting)17 b(alternatives)g(to)h
(depth-\256rst)g(searching,)i(such)f(as)f(breadth-\256rst)g(and)135
251 y(best-\256rst)10 b(strategies,)h(have)g(been)g(lar)o(gely)g
(ignored)f(in)h(practice.)206 307 y(In)16 b(1979)f(Stockman)h
(introduced)e(SSS*,)k(which)e(looked)e(like)i(a)g(radically)f(dif)o
(ferent)h(ap-)135 363 y(proach)11 b(from)h(Alpha-Beta)f(for)g
(searching)g(\256xed-depth)f(minimax)h(trees)h([51)o(].)17
b(It)12 b(builds)d(a)j(tree)135 420 y(in)j(a)i(so-called)e
(best-\256rst)g(fashion)g(by)g(visiting)e(the)j(most)f(promising)g
(nodes)g(\256rst.)1522 403 y Ft(1)1569 420 y Fv(Alpha-)135
476 y(Beta,)j(in)e(contrast,)g(uses)g(a)g(depth-\256rst,)h
(left-to-right)d(traversal)h(of)i(the)e(tree.)32 b(Intuitively)m(,)15
b(it)135 533 y(would)d(seem)j(that)e(a)h(best-\256rst)f(strategy)g
(should)f(prevail)h(over)g(a)h(rigidly)e(ordered)i(depth-\256rst)135
589 y(one.)i(Stockman)9 b(proved)f(that)h(SSS*)h(dominated)e
(Alpha-Beta;)h(it)g(would)f(never)h(evaluate)g(more)135
646 y(leaf)i(nodes)g(than)f(Alpha-Beta.)17 b(Numerous)10
b(simulations)f(have)j(shown)e(that)g(on)h(average)g(SSS*)135
702 y(evaluates)g(considerably)g(fewer)h(leaf)g(nodes)g(\(for)g
(example,)h([17)o(,)g(24)o(,)g(26)o(,)g(41)o(,)g(43)o(,)f(45]\).)19
b(Why)m(,)135 759 y(then,)11 b(has)g(the)g(algorithm)f(been)h(shunned)f
(by)h(practitioners?)206 815 y(SSS*,)e(as)e(formulated)g(by)g
(Stockman,)h(has)f(several)g(problems.)14 b(First,)8
b(it)f(takes)g(considerable)135 872 y(ef)o(fort)12 b(to)e(understand)g
(how)h(the)g(algorithm)f(works,)h(and)g(still)e(more)j(to)f(understand)
f(its)g(relation)135 928 y(to)17 b(Alpha-Beta.)34 b(Second,)19
b(SSS*)e(maintains)f(a)i(data)f(structure)f(known)g(as)h(the)g(OPEN)g
(list,)135 984 y(similar)c(to)g(that)g(found)f(in)h(single-agent)f
(search)i(algorithms)e(like)h(A*)g([30].)23 b(The)14
b(size)f(of)g(this)135 1041 y(list)e(grows)h(exponentially)f(with)g
(the)i(depth)f(of)g(the)h(search)g(tree.)21 b(This)12
b(has)g(led)g(many)h(authors)135 1097 y(to)c(conclude)g(that)g(SSS*)h
(is)f(ef)o(fectively)g(disquali\256ed)f(from)i(being)f(useful)g(for)g
(real)h(applications)135 1154 y(like)k(game-playing)g(programs)h([17,)g
(26,)g(45,)g(51].)28 b(Third,)15 b(the)g(OPEN)g(list)f(must)g(be)h
(kept)g(in)135 1210 y(sorted)e(order)m(.)27 b(Insert)14
b(and)g(\(in)f(particular\))h(delete/pur)o(ge)f(operations)g(on)h(the)g
(OPEN)g(list)f(can)135 1267 y(dominate)k(the)h(execution)e(time)i(of)g
(any)f(program)h(using)f(SSS*.)37 b(Despite)16 b(the)i(promise)f(of)135
1323 y(expanding)9 b(fewer)j(nodes,)e(the)g(disadvantages)f(of)i(SSS*)g
(have)g(proven)f(a)h(signi\256cant)e(deterrent)135 1380
y(in)i(practice.)16 b(The)11 b(general)h(view)e(of)h(SSS*)h(then)f(is)g
(that:)192 1473 y(1.)23 b(it)10 b(is)h(a)g(complex)g(algorithm)g(that)f
(is)h(dif)o(\256cult)f(to)h(understand,)192 1567 y(2.)23
b(it)13 b(has)h(lar)o(ge)g(memory)h(requirements)f(that)f(make)i(the)f
(algorithm)f(impractical)h(for)g(real)249 1624 y(applications,)192
1718 y(3.)23 b(it)10 b(is)h(\252slow\272)g(because)g(of)g(the)g
(overhead)g(of)g(maintaining)f(the)h(sorted)f(OPEN)h(list,)192
1811 y(4.)23 b(it)10 b(has)g(been)h(proven)f(to)h(dominate)f
(Alpha-Beta)g(in)h(terms)g(of)g(the)f(number)h(of)g(leaf)g(nodes)249
1868 y(evaluated,)g(and)192 1962 y(5.)23 b(it)10 b(evaluates)h
(signi\256cantly)e(fewer)j(leaf)f(nodes)g(than)f(Alpha-Beta.)135
2055 y(For)h(a)g(number)g(of)g(years,)g(we)g(have)g(been)g(trying)e(to)
i(\256nd)f(out)g(how)h(and)f(why)g(SSS*)i(works,)e(and)135
2112 y(whether)h(the)g(drawbacks)f(can)i(be)f(solved.)16
b(In)11 b(this)f(article)h(we)g(report)g(the)g(following)e(results:)207
2206 y Fs(\267)23 b Fv(The)12 b(obstacles)g(to)g(ef)o(\256cient)h(SSS*)
h(implementations)d(have)i(been)g(solved,)f(making)g(the)249
2262 y(algorithm)h(a)i(practical)f(alternative)f(to)h(Alpha-Beta)g
(variants.)25 b(By)15 b(reformulating)e(the)249 2319
y(algorithm,)g(SSS*)i(can)e(be)h(expressed)f(simply)g(and)g
(intuitively)e(as)j(a)g(series)f(of)h(calls)f(to)249
2375 y(Alpha-Beta)8 b(enhanced)g(with)f(a)i(transposition)c(table)j
(\(TT\),)g(yielding)f(a)h(new)g(formulation)249 2431
y(called)13 b(MT)l(-SSS*.)26 b(MT)l(-SSS*)15 b(does)f(not)f(need)h(an)g
(expensive)f(OPEN)h(list;)g(a)g(familiar)249 2488 y(transposition)8
b(table)j(performs)g(as)g(well.)16 b(In)c(ef)o(fect:)k(SSS*)c(=)f
(Alpha-Beta)g(+)g(TT)m(.)p 135 2528 624 2 v 188 2556
a Fr(1)202 2572 y Fq(There)6 b(is)i(potential)e(for)i(confusion)d
(between)h(SSS*,)h(which)f(selects)g(the)h(node)f(of)o(fering)h(the)g
(\252best\272)f(information)135 2618 y(on)12 b(bounds)e(at)i(the)g
(root)h(in)f(a)g(\256xed-depth)f(search,)h(and)f(a)h(new)g(algorithm)g
(called)g(Best-First)h(Minimax)f(Search,)135 2663 y(which)d(expands)d
(the)j(children)g(of)h(the)f(\252best\272)e(node)h(in)i(a)f
(variable-depth)f(search)g([20)o(].)904 2803 y Fv(2)p
eop
%%Page: 3 3
3 2 bop 207 81 a Fs(\267)23 b Fv(Inspired)12 b(by)g(the)h(MT)l(-SSS*)h
(reformulation,)e(a)i(new)f(framework)g(for)g(minimax)g(search)249
138 y(is)c(introduced.)15 b(It)9 b(is)h(based)f(on)h(memory-enhanced)g
(null-window)d(Alpha-Beta)j(search.)249 194 y(W)l(e)e(call)g(this)e
(procedure)i(MT,)h(after)f(Pearl')m(s)h(T)m(est)e(procedure)g([30].)16
b(W)l(e)8 b(present)g(a)g(simple)249 251 y(framework)j(of)h(MT)f
(drivers)g(\(MTD\))g(that)g(make)h(repeated)f(calls)g(to)f(MT)i(to)e
(home)i(in)f(on)249 307 y(the)i(minimax)h(value.)23 b(Search)15
b(results)d(from)j(previous)d(passes)h(are)h(stored)f(in)g(memory)249
363 y(and)h(re-used.)28 b(MTD)15 b(can)g(be)g(used)f(to)h(construct)e
(a)j(variety)e(of)h(\256xed-depth)f(best-\256rst)249
420 y(search)d(algorithms)e(using)g(depth-\256rst)h(search.)17
b(It)11 b(is)f(easily)g(incorporated)f(into)h(existing)249
476 y(game-playing)g(programs.)207 570 y Fs(\267)23 b
Fv(Using)6 b(our)h(new)g(framework,)i(we)f(were)g(able)f(to)g(compare)h
(the)g(performance)g(of)f(a)h(number)249 627 y(of)13
b(best-\256rst)g(algorithms)f(to)h(some)h(well-known)e(depth-\256rst)h
(algorithms,)g(using)f(three)249 683 y(high)k(performance)j
(game-playing)d(programs.)36 b(The)18 b(results)e(of)i(these)f
(experiments)249 740 y(were)d(quite)e(surprising,)h(since)g(they)g
(contradict)f(the)h(lar)o(ge)h(body)e(of)i(published)d(results)249
796 y(based)i(on)g(simulations:)k(best-\256rst)c(searches)g(and)h
(depth-\256rst)e(searches)h(have)h(roughly)249 852 y(comparable)j
(performance,)i(with)d(NegaScout,)i(a)f(depth-\256rst)f(algorithm,)h
(often)g(out-)249 909 y(performing)10 b(SSS*,)j(a)e(best-\256rst)g
(algorithm.)249 984 y(In)h(previously)e(published)g(experimental)i
(results,)g(depth-\256rst)f(and)h(best-\256rst)f(minimax)249
1040 y(search)g(algorithms)g(were)h(allowed)e(dif)o(ferent)i(memory)g
(requirements.)17 b(T)m(o)11 b(our)g(knowl-)249 1097
y(edge,)f(we)g(present)g(the)f(\256rst)h(experiments)g(that)f(compare)i
(them)f(using)e Fp(identical)h Fv(storage)249 1153 y(requirements.)207
1247 y Fs(\267)23 b Fv(W)n(ith)15 b(dynamic)h(move)h(reordering)e
(schemes,)j(like)e(iterative)f(deepening,)i(SSS*)g(\(and)249
1304 y(its)e(dual)h(DUAL*)g([21)o(,)i(24)o(,)f(41)o(]\))g(are)h(no)e
(longer)g(guaranteed)g(to)g(expand)g(fewer)h(leaf)249
1360 y(nodes)12 b(than)h(Alpha-Beta.)24 b(The)13 b(conditions)e(for)j
(Stockman')m(s)f(proof)h([51)o(])g(are)g(not)f(met)249
1417 y(in)d(practice.)207 1510 y Fs(\267)23 b Fv(In)14
b(analyzing)f(why)h(our)g(results)f(dif)o(fer)h(from)h(simulations,)e
(we)i(identify)d(a)j(number)f(of)249 1567 y(dif)o(ferences)g(between)h
(real)f(and)h(arti\256cially)e(generated)i(game)g(trees.)26
b(T)m(wo)14 b(important)249 1623 y(factors)g(are)h(transpositions)c
(and)j(value)g(interdependence)g(between)g(parent)g(and)g(child)249
1680 y(nodes.)37 b(In)19 b(game-playing)f(programs)g(these)g(factors)g
(are)i(commonly)e(exploited)f(by)249 1736 y(transposition)9
b(tables)j(and)h(iterative)f(deepening)g(to)g(yield)g(lar)o(ge)h
(performance)h(gains\320)249 1793 y(making)i(it)f(possible)g(for)i
(depth-\256rst)e(algorithms)g(to)h(out-perform)g(best-\256rst.)32
b(Given)249 1849 y(that)15 b(most)h(simulations)e(neglect)h(to)h
(include)f(important)g(properties)g(of)h(trees)g(built)f(in)249
1906 y(practice,)c(of)g(what)g(value)g(are)h(the)f(previously)e
(published)g(simulation)g(results?)207 1999 y Fs(\267)23
b Fv(W)l(e)14 b(formulate)g(a)h(new)f(algorithm,)g(MTD\()p
Fs(\246)p Fv(\).)25 b(It)15 b(out-performs)e(our)h(best)f(Alpha-Beta)
249 2056 y(variant,)k(NegaScout)f(enhanced)g(with)f(an)h(aspiration)f
(window)m(,)i(on)f(leaf)g(nodes,)h(total)249 2112 y(nodes,)c(and)g
(execution)f(time)h(for)h(our)f(test)f(programs.)23 b(Since)14
b(MTD\()p Fs(\246)p Fv(\))f(is)g(an)g(instance)249 2169
y(of)h(the)g(MT)g(framework,)i(it)d(is)h(easily)f(implemented)h(in)g
(existing)e(programs:)21 b(just)13 b(add)249 2225 y(one)e(loop)f(to)h
(an)g(Alpha-Beta-based)f(program.)207 2319 y Fs(\267)23
b Fv(In)12 b(the)h(past,)g(much)g(research)g(ef)o(fort)g(has)g(been)g
(devoted)e(to)i(understanding)d(how)i(SSS*)249 2375 y(works,)18
b(and)f(\256nding)f(out)g(what)g(the)h(pros)g(and)f(cons)h(of)g(SSS*')m
(s)h(best-\256rst)e(approach)249 2432 y(are)d(for)f(minimax)g(search.)
20 b(In)12 b(the)g(new)g(framework,)i(SSS*)f(is)f(equivalent)e(to)i(a)h
(special)249 2488 y(case)g(of)h(Alpha-Beta)f(and)g(it)g(is)g
(out-performed)g(by)g(other)g(Alpha-Beta)g(variants)f(\(both)249
2545 y(best-\256rst)k(and)g(depth-\256rst\).)33 b(In)17
b(light)e(of)i(this,)h(we)f(believe)f(that)g(SSS*)i(should)d(now)249
2601 y(become)c(a)h(footnote)e(in)g(the)h(history)f(of)h(game-tree)h
(search.)904 2803 y(3)p eop
%%Page: 4 4
4 3 bop 206 81 a Fv(In)16 b(section)g(2)h(we)g(use)f(an)h(example)g(to)
f(demonstrate)g(how)h(a)g(best-\256rst)f(search)h(uses)f(its)135
138 y(information)c(to)h(decide)g(which)f(node)h(to)g(select)f(next.)23
b(Speci\256cally)m(,)13 b(this)f(section)h(introduces)135
194 y(MT)l(-SSS*,)e(which)d(is)h(a)h(reformulation)e(of)h(SSS*)h(based)
f(on)g(Alpha-Beta.)16 b(Section)9 b(3)g(addresses)135
251 y(one)18 b(of)h(the)f(biggest)f(drawbacks)h(of)h(SSS*:)31
b(its)18 b(memory)h(requirements.)38 b(W)l(e)20 b(will)d(show)135
307 y(empirical)i(evidence)f(using)g(our)g(reformulation)g(that)g(this)
g(problem)g(is)h(ef)o(fectively)f(solved)135 363 y(for)g(our)f
(applications.)35 b(In)17 b(section)g(4)h(we)g(introduce)e(a)i
(framework)h(for)f(\256xed-depth)f(best-)135 420 y(\256rst)11
b(minimax)h(algorithms)e(based)h(on)g(null-window)e(Alpha-Beta)i
(searches)g(enhanced)g(with)g(a)135 476 y(transposition)e(table.)17
b(In)11 b(section)g(5)g(we)h(present)f(the)g(results)f(of)i
(performance)g(tests)f(with)f(three)135 533 y(tournament-level)17
b(game-playing)h(programs.)38 b(One)18 b(algorithm,)i(MTD\()p
Fs(\246)p Fv(\),)h(is)d(on)g(average)135 589 y(consistently)d(better)m
(.)35 b(In)17 b(explaining)e(its)i(behavior)n(,)h(we)g(establish)e(a)h
(relation)g(between)f(the)135 646 y(start)c(value)g(of)g(a)h(series)f
(of)g(null-window)e(searches)j(and)f(performance.)21
b(Section)12 b(6)g(addresses)135 702 y(the)20 b(reasons)g(why)f(our)h
(results)f(contradict)g(the)h(literature:)33 b(the)20
b(dif)o(ference)h(between)f(real)135 759 y(and)d(arti\256cial)g(game)g
(trees)h(is)e(signi\256cant.)33 b(Given)17 b(that)f(high-performance)h
(game-playing)135 815 y(programs)c(are)h(readily)f(available,)h(the)f
(case)h(for)f(simulations)e(is)i(weak.)24 b(Section)13
b(7)g(gives)f(the)135 872 y(conclusions.)30 b(Appendix)15
b(A)i(provides)e(a)i(more)g(formal)g(treatment)f(of)h(why)f(MT)l(-SSS*)
h(and)135 928 y(SSS*)g(are)f(equivalent)f(in)g(the)h(sense)g(that)f
(they)g(expand)h(the)f(same)i(leaf)f(nodes)f(in)h(the)g(same)135
984 y(order)m(.)h(Appendix)9 b(B)h(presents)g(an)g(example)h(proving)e
(that)g(when)h(SSS*)h(is)f(used)g(with)f(dynamic)135
1041 y(move)i(reordering,)g(it)g(no)g(longer)f(dominates)h(Alpha-Beta.)
206 1097 y(T)m(o)g(conclude)h(this)f(introduction,)f(we)j(make)g(a)f
(remark)i(on)e(terminology)m(.)18 b(Sometimes)12 b(the)135
1154 y(term)k(Alpha-Beta)e(is)h(used)g(to)f(denote)h(a)g(single)f
(procedure)h(which)g(can)g(be)g(called)g(with)f(any)135
1210 y(search)j(window)m(,)f(for)h(example,)h(as)e(a)h(building)d
(block)i(for)g(algorithms)f(like)h(MT)l(-SSS*)h(and)135
1267 y(MTD\()p Fs(\246)p Fv(\).)g(At)11 b(other)g(times)g(Alpha-Beta)g
(is)f(meant)i(as)f(the)g(algorithm)f(Alpha-Beta\()p Fp(n)p
Fs(,)e Fo(\000)p Fs(\245,)g Fv(+)p Fs(\245)p Fv(\))135
1323 y(that)h(\256nds)h(the)g(minimax)g(value)f(of)i(a)f(tree)g(rooted)
g(at)g Fp(n)p Fv(.)16 b(Which)9 b(of)h(the)g(two)g(is)f(meant)i(should)
d(be)135 1380 y(clear)k(from)f(the)g(context.)206 1436
y(Preliminary)g(results)f(from)h(this)f(research)i(have)f(appeared)h
(in)e([38].)135 1564 y Fw(2)45 b(A)11 b(Practical)g(V)l(ersion)g(of)g
(SSS*)135 1630 y Fv(SSS*)16 b(is)f(a)h(dif)o(\256cult)e(algorithm)h(to)
g(understand,)g(as)g(can)h(be)g(appreciated)f(by)g(looking)e(at)i(the)
135 1687 y(code)f(in)g(\256gure)h(1.)27 b(SSS*)15 b(works)e(by)i
(manipulating)d(a)j(list)e(of)i(nodes,)g(the)f(OPEN)g(list,)g(using)135
1743 y(six)f(ingenious)f(inter)o(-locking)g(cases)i(of)f(the)h
(so-called)f Fu(G)i Fv(operator)m(.)24 b(Throughout)12
b(this)g(paper)n(,)135 1800 y(it)i(is)g(assumed)g(that)g(the)g(root)g
(is)f(of)i(type)f(MAX.)h(The)f(nodes)g(have)g(a)h(status)e(associated)g
(with)135 1856 y(them,)g(either)f Fp(live)f Fv(\(L\))i(or)f
Fp(solved)g Fv(\(S\),)h(and)f(a)h(merit,)g(denoted)1163
1845 y(\303)1159 1856 y Fp(h)o Fv(.)20 b(The)12 b(OPEN)g(list)f(is)g
(sorted)h(in)135 1913 y(descending)f(order)n(,)j(so)e(that)f(the)h
(entry)h(with)e(highest)g(merit)h(\(the)h(\252best\272)f(node\))g(is)g
(at)g(the)h(front)135 1969 y(and)e(will)f(be)h(selected)g(for)g
(expansion.)206 2026 y(In)19 b(this)g(section)f(we)i(present)f(a)h
(clearer)g(formulation)f(that)g(has)g(the)g(added)h(advantage)135
2082 y(of)e(solving)f(a)i(number)f(of)h(obstacles)e(that)g(have)i
(hindered)e(SSS*')m(s)j(use)e(in)g(practice.)38 b(The)135
2139 y(reformulation)11 b(is)g(based)h(on)f(the)h(Alpha-Beta)f
(procedure.)19 b(It)11 b(examines)h(the)f(same)i(leaf)f(nodes)135
2195 y(in)c(the)g(same)h(order)g(as)g(SSS*.)16 b(It)9
b(is)f(called)g(MT)l(-SSS*,)i(and)e(the)h(code)f(is)g(shown)g(later)g
(in)g(\256gure)h(8.)206 2251 y(Figure)g(2)h(shows)e(the)i(pseudo-code)e
(for)i(Alpha-Beta)f(\(enchanced)h(with)f(storage\))g([18,)h(23)o(].)135
2308 y(In)j(contrast)f(to)g(SSS*,)i(the)e(code)h(is)f(a)i(tight)d
(recursive)h(formulation.)20 b(The)13 b(relative)f(simplicity)135
2364 y(of)i(the)f(code)h(has)f(made)h(it)f(a)h(popular)f(choice)g(for)h
(implementation)e(by)i(practitioners.)22 b(In)13 b(the)135
2421 y(code,)g Fp(eval)g Fv(returns)e(the)i(evaluation)e(of)h(a)h(leaf)
g(node,)g Fp(\256rstchild)d Fv(and)i Fp(nextbr)n(other)f
Fv(are)j(used)e(to)135 2477 y(generate)f(the)g(successor)g(nodes)f(of)h
(a)h(position,)d(and)i(storage)g(is)g(accessed)g(using)f(the)h
Fp(stor)n(e)f Fv(and)135 2534 y Fp(r)n(etrieve)h Fv(routines.)k
Fs(\246)c Fv(denotes)f(the)h(minimax)g(value)g(of)g(a)g(node;)f
Fs(\246)1205 2517 y Ft(+)1235 2534 y Fv(is)g(an)i(upper)e(bound)g(on)h
(that)135 2590 y(value,)e(while)g Fs(\246)386 2574 y
Fn(\000)423 2590 y Fv(is)f(a)h(lower)g(bound.)15 b(The)9
b(code)g(speci\256es)f(the)h(fail-soft)f(variant)g(of)h(Alpha-Beta)135
2647 y([14],)h(where)g(a)g(return)g(value)f(outside)f(the)i(search)g
(window)e(is)h(a)h(bound)f(on)g(the)h(minimax)f(value.)904
2803 y(4)p eop
%%Page: 5 5
5 4 bop 135 407 a Fy(Stockman')n(s)10 b(SSS*)h FA(\(including)d
(Campbell')n(s)h(correction)h([7]\))135 460 y(\(1\))48
b(Place)11 b(the)f(start)g(state)h Fm(h)p Fl(n)g FA(=)h
Fl(r)n(oot)p Fx(,)7 b Fl(s)12 b FA(=)g(LIVE)p Fx(,)906
450 y FA(\303)902 460 y Fl(h)g FA(=)g(+)p Fx(\245)p Fm(i)f
FA(on)e(a)i(list)e(called)i(OPEN.)135 513 y(\(2\))48
b(Remove)11 b(from)f(OPEN)g(state)h Fl(p)g FA(=)h Fm(h)p
Fl(n)p Fx(,)7 b Fl(s)p Fx(,)833 503 y FA(\303)829 513
y Fl(h)p Fm(i)k FA(with)e(lar)o(gest)h(merit)1183 503
y(\303)1179 513 y Fl(h)p FA(.)16 b(OPEN)10 b(is)g(a)h(list)e(kept)h(in)
232 563 y(non-decreasing)g(order)g(of)g(merit,)g(so)g
Fl(p)h FA(will)e(be)h(the)g(\256rst)g(in)g(the)g(list.)135
616 y(\(3\))48 b(If)10 b Fl(n)h FA(=)h Fl(r)n(oot)f FA(and)f
Fl(s)i FA(=)g(SOL)l(VED)f(then)f Fl(p)g FA(is)g(the)g(goal)g(state)g
(so)h(terminate)f(with)1401 606 y(\303)1398 616 y Fl(h)h
FA(=)h Fx(\246)p FA(\()p Fl(r)n(oot)p FA(\))e(as)232
665 y(the)g(minimax)g(evaluation)f(of)h(the)g(game)i(tree.)j(Otherwise)
10 b(continue.)135 715 y(\(4\))48 b(Expand)10 b(state)h
Fl(p)f FA(by)g(applying)e(state)j(space)g(operator)f
Fz(G)h FA(and)f(queuing)f(all)h(output)e(states)j Fz(G)p
FA(\()p Fl(p)p FA(\))232 765 y(on)f(the)g(list)f(OPEN)i(in)e(merit)h
(order)n(.)15 b(Pur)o(ge)c(redundant)e(states)i(from)f(OPEN)g(if)g
(possible.)232 815 y(The)h(speci\256c)g(actions)f(of)g
Fz(G)h FA(are)g(given)e(in)h(the)g(table)g(below)m(.)135
865 y(\(5\))48 b(Go)10 b(to)g(\(2\))213 972 y(State)h(space)g
(operations)f(on)g(state)p Fm(h)p Fl(n)p Fx(,)d Fl(s)p
Fx(,)810 962 y FA(\303)806 972 y Fl(h)p Fm(i)j FA(\(just)g(removed)g
(from)g(top)g(of)g(OPEN)h(list\))p 135 988 1420 2 v 135
998 V 160 1033 a(Case)g(of)98 b(Conditions)7 b(satis\256ed)78
b(Actions)10 b(of)g Fz(G)g FA(in)g(creating)160 1086
y(operator)g Fz(G)50 b FA(by)10 b(input)e(state)j Fm(h)p
Fl(n)p Fx(,)c Fl(s)p Fx(,)707 1076 y FA(\303)703 1086
y Fl(h)p Fm(i)50 b FA(new)11 b(output)d(states)p 135
1103 V 135 1113 V 160 1147 a(not)170 b Fl(s)11 b FA(=)g(SOL)l(VED)186
b(Final)10 b(state)g(reached,)i(exit)e(algorithm)160
1200 y(applicable)53 b Fl(n)11 b FA(=)g(ROOT)227 b(with)9
b Fl(g)p FA(\()p Fl(n)p FA(\))i(=)993 1190 y(\303)990
1200 y Fl(h)p FA(.)p 135 1217 V 160 1255 a(1)203 b Fl(s)11
b FA(=)g(SOL)l(VED)186 b(Stack)11 b Fm(h)p Fl(m)g FA(=)h(parent\()p
Fl(n)p FA(\))p Fx(,)7 b Fl(s)p Fx(,)1190 1245 y FA(\303)1186
1255 y Fl(h)p Fm(i)j FA(on)g(OPEN)h(list.)384 1308 y
Fl(n)g Fm(6)p FA(=)g(ROOT)227 b(Then)11 b(pur)o(ge)f(OPEN)h(of)f(all)f
(states)i(\()p Fl(k)q Fx(,)c Fl(s)p Fx(,)1393 1298 y
FA(\303)1389 1308 y Fl(h)p FA(\))384 1358 y(type\()p
Fl(n)p FA(\))i(=)i(MIN)161 b(where)11 b Fl(m)f FA(is)g(an)h(ancestor)g
(of)e Fl(k)j FA(in)e(the)g(game)h(tree.)p 135 1374 V
160 1413 a(2)203 b Fl(s)11 b FA(=)g(SOL)l(VED)186 b(Stack)11
b Fm(h)p FA(next\()p Fl(n)p FA(\),)e(LIVE,)1168 1403
y(\303)1165 1413 y Fl(h)o Fm(i)384 1462 y Fl(n)i Fm(6)p
FA(=)g(ROOT)227 b(on)10 b(OPEN)h(list)384 1512 y(type\()p
Fl(n)p FA(\))f(=)h(MAX)384 1562 y(next\()p Fl(n)p FA(\))f
Fm(6)p FA(=)h(NIL)p 135 1579 V 160 1617 a(3)203 b Fl(s)11
b FA(=)g(SOL)l(VED)186 b(Stack)11 b Fm(h)p FA(parent\()p
Fl(n)p FA(\))p Fx(,)6 b Fl(s)p Fx(,)1113 1607 y FA(\303)1109
1617 y Fl(h)p Fm(i)384 1666 y Fl(n)11 b Fm(6)p FA(=)g(ROOT)227
b(on)10 b(OPEN)h(list)384 1716 y(type\()p Fl(n)p FA(\))f(=)h(MAX)384
1766 y(next\()p Fl(n)p FA(\))f(=)h(NIL)p 135 1783 V 160
1821 a(4)203 b Fl(s)11 b FA(=)g(LIVE)251 b(Place)11 b
Fm(h)p Fl(n)p Fx(,)g FA(SOL)l(VED,)h(min\()1210 1811
y(\303)1207 1821 y Fl(h)o Fx(,)7 b(\246)p FA(\()p Fl(n)p
FA(\)\))p Fm(i)i FA(on)384 1871 y(\256rst\()p Fl(n)p
FA(\))h(=)h(NIL)179 b(OPEN)11 b(list)e(\(interior\))f(in)i(front)f(of)h
(all)g(states)g(of)790 1920 y(lesser)h(merit.)k(T)o(ies)10
b(are)h(resolved)f(left-\256rst.)p 135 1937 V 160 1975
a(5)203 b Fl(s)11 b FA(=)g(LIVE)251 b(Stack)11 b Fm(h)p
FA(\256rst\()p Fl(n)p FA(\))p Fx(,)6 b Fl(s)p Fx(,)1074
1965 y FA(\303)1070 1975 y Fl(h)p Fm(i)384 2025 y FA(\256rst\()p
Fl(n)p FA(\))k Fm(6)p FA(=)h(NIL)179 b(on)10 b(\(top)f(of\))h(OPEN)h
(list.)384 2075 y(type\(\256rst\()p Fl(n)p FA(\)\))e(=)i(MAX)p
135 2091 V 160 2126 a(6)203 b Fl(s)11 b FA(=)g(LIVE)251
b(Reset)11 b Fl(n)f FA(to)f(\256rst\()p Fl(n)p FA(\).)384
2176 y(\256rst\()p Fl(n)p FA(\))h Fm(6)p FA(=)h(NIL)179
b(While)10 b Fl(n)h Fm(6)p FA(=)g(NIL)f(do)384 2229 y(type\(\256rst\()p
Fl(n)p FA(\)\))f(=)i(MIN)99 b(queue)11 b Fm(h)p Fl(n)p
Fx(,)c Fl(s)p Fx(,)1020 2219 y FA(\303)1016 2229 y Fl(h)p
Fm(i)k FA(on)e(top)h(of)g(OPEN)h(list)821 2279 y(reset)g
Fl(n)f FA(to)g(next\()p Fl(n)p FA(\))p 135 2295 V 135
2305 V 585 2431 a Fv(Figure)h(1:)16 b(Stockman')m(s)c(SSS*)g([30)o(,)g
(51)o(])904 2803 y(5)p eop
%%Page: 6 6
6 5 bop 523 772 a Fy(function)10 b FA(alphabeta\()p Fl(n)p
Fx(,)c Fk(a)s Fx(,)h Fk(b)s FA(\))k Fx(\256)h Fl(g)p
FA(;)587 822 y Fy(if)e FA(retrieve\()p Fl(n)p FA(\))f(=)i(ok)f
Fy(then)652 872 y(if)f Fl(n)p Fx(.\246)736 857 y Fn(\000)776
872 y Fx(\263)i Fk(b)i Fy(then)e(r)o(eturn)h Fl(n)p Fx(.\246)1105
857 y Fn(\000)1133 872 y FA(;)652 921 y Fy(if)d Fl(n)p
Fx(.\246)736 906 y Ft(+)766 921 y Fx(\243)i Fk(a)i Fy(then)e(r)o(eturn)
h Fl(n)p Fx(.\246)1098 906 y Ft(+)1116 921 y FA(;)587
971 y Fy(if)e Fl(n)g FA(is)g(a)h(leaf)f(node)h Fy(then)f
Fl(g)i FA(:=)e(eval\()p Fl(n)p FA(\);)587 1021 y Fy(else)h(if)f
Fl(n)g FA(is)g(a)h(max)g(node)f Fy(then)652 1071 y Fl(g)h
FA(:=)g Fm(\000)p Fx(\245)p FA(;)652 1121 y Fl(c)h FA(:=)e
(\256rstchild\()p Fl(n)p FA(\);)652 1170 y Fy(while)g
Fl(g)h(<)h Fk(b)h Fy(and)d Fl(c)i Fm(6)p FA(=)g Fm(?)e
Fy(do)716 1221 y Fl(g)i FA(:=)e(max)865 1187 y Fj(\000)884
1221 y Fl(g)p Fx(,)h FA(alphabeta\()p Fl(c)p Fx(,)c Fk(a)s
Fx(,)g Fk(b)s FA(\))1213 1187 y Fj(\001)1232 1221 y FA(;)716
1271 y Fk(a)14 b FA(:=)e(max\()p Fk(a)s Fx(,)7 b Fl(g)p
FA(\);)716 1320 y Fl(c)12 b FA(:=)f(nextbrother\()p Fl(c)p
FA(\);)587 1370 y Fy(else)g FA(/*)f Fl(n)g FA(is)g(a)h(min)f(node)g(*/)
652 1420 y Fl(g)h FA(:=)g(+)p Fx(\245)p FA(;)652 1470
y Fl(c)h FA(:=)e(\256rstchild\()p Fl(n)p FA(\);)652 1520
y Fy(while)g Fl(g)h(>)h Fk(a)g Fy(and)f Fl(c)g Fm(6)p
FA(=)h Fm(?)e Fy(do)716 1570 y Fl(g)i FA(:=)e(min)859
1536 y Fj(\000)878 1570 y Fl(g)p Fx(,)g FA(alphabeta\()p
Fl(c)p Fx(,)e Fk(a)s Fx(,)e Fk(b)s FA(\))1206 1536 y
Fj(\001)1225 1570 y FA(;)716 1620 y Fk(b)15 b FA(:=)c(min\()p
Fk(b)s Fx(,)c Fl(g)p FA(\);)716 1669 y Fl(c)12 b FA(:=)f(nextbrother\()
p Fl(c)p FA(\);)587 1719 y Fy(if)f Fl(g)h(<)h Fk(b)h
Fy(then)e Fl(n)p Fx(.\246)867 1704 y Ft(+)896 1719 y
FA(:=)h Fl(g)p FA(;)587 1769 y Fy(if)e Fl(g)h(>)h Fk(a)g
Fy(then)f Fl(n)p Fx(.\246)869 1754 y Fn(\000)909 1769
y FA(:=)g Fl(g)p FA(;)587 1819 y(store)f Fl(n)p Fx(.\246)727
1804 y Fn(\000)755 1819 y Fx(,)d Fl(n)p Fx(.\246)820
1804 y Ft(+)839 1819 y FA(;)587 1869 y Fy(r)o(eturn)12
b Fl(g)p FA(;)283 2016 y Fv(Figure)f(2:)16 b(The)11 b(Alpha-Beta)g
(Function)f(for)h(use)g(with)f(T)n(ransposition)f(T)m(ables)904
2803 y(6)p eop
%%Page: 7 7
7 6 bop 987 70 a Fl(a)p 971 90 2 53 v 973 39 53 2 v 970
92 V 1023 92 2 53 v 638 187 a(b)649 181 y Fi(m)484 303
y Fl(c)p 466 322 V 468 272 53 2 v 467 324 V 520 324 2
53 v 405 419 a(d)416 413 y Fi(m)368 535 y Fl(e)p 350
555 V 352 504 53 2 v 350 556 V 403 556 2 53 v 356 593
a FA(41)386 503 y Fh(\002)393 482 y(\002)18 b(B)432 503
y(B)444 535 y Fl(n)p 428 555 V 430 504 53 2 v 428 556
V 481 556 2 53 v 444 593 a FA(5)432 389 y Fh(\012)448
365 y(\012)35 b(J)527 389 y(J)562 419 y Fx(\246)572 413
y Fi(m)522 535 y Fl(g)p 506 555 V 508 504 53 2 v 505
556 V 558 556 2 53 v 512 593 a FA(12)542 503 y Fh(\002)549
482 y(\002)18 b(B)588 503 y(B)p 583 555 V 585 504 53
2 v 583 556 V 636 556 2 53 v 589 593 a FA(90)520 277
y Fh(\032)561 246 y(\032)584 229 y(\032)46 b(Z)713 260
y(Z)736 277 y(Z)p 777 322 V 779 272 53 2 v 777 324 V
830 324 2 53 v 726 413 a Fi(m)p 660 555 V 662 504 53
2 v 660 556 V 713 556 2 53 v 656 593 a FA(101)696 503
y Fh(\002)703 482 y(\002)18 b(B)742 503 y(B)p 738 555
V 740 504 53 2 v 738 556 V 791 556 2 53 v 744 593 a FA(80)742
389 y Fh(\012)758 365 y(\012)35 b(J)837 389 y(J)881 413
y Fi(m)p 815 555 V 817 504 53 2 v 815 556 V 868 556 2
53 v 821 593 a FA(20)851 503 y Fh(\002)858 482 y(\002)18
b(B)897 503 y(B)p 893 555 V 895 504 53 2 v 893 556 V
946 556 2 53 v 899 593 a FA(30)676 172 y Fh(\020)718
158 y(\020)759 144 y(\020)801 130 y(\020)842 116 y(\020)884
102 y(\020)925 89 y(\020)930 87 y(\020)51 b(P)1065 101
y(P)1106 115 y(P)1148 129 y(P)1189 142 y(P)1231 156 y(P)1272
170 y(P)1277 172 y(P)1336 187 y Fl(h)1347 181 y Fi(m)1185
303 y Fl(i)p 1164 322 V 1166 272 53 2 v 1164 324 V 1217
324 2 53 v 1107 419 a(j)1113 413 y Fi(m)1065 535 y Fl(k)p
1047 555 V 1049 504 53 2 v 1048 556 V 1101 556 2 53 v
1053 593 a FA(34)1083 503 y Fh(\002)1090 482 y(\002)19
b(B)1130 503 y(B)p 1125 555 V 1127 504 53 2 v 1125 556
V 1178 556 2 53 v 1131 593 a FA(80)1130 389 y Fh(\012)1146
365 y(\012)34 b(J)1225 389 y(J)1263 419 y Fl(l)1269 413
y Fi(m)1215 535 y Fl(m)p 1203 555 V 1205 504 53 2 v 1203
556 V 1256 556 2 53 v 1209 593 a FA(36)1239 503 y Fh(\002)1246
482 y(\002)18 b(B)1285 503 y(B)1297 535 y Fl(o)p 1281
555 V 1283 504 53 2 v 1280 556 V 1333 556 2 53 v 1287
593 a FA(35)1217 277 y Fh(\032)1259 246 y(\032)1281 229
y(\032)46 b(Z)1411 260 y(Z)1433 277 y(Z)1490 303 y Fl(p)p
1474 322 V 1476 272 53 2 v 1474 324 V 1527 324 2 53 v
1413 419 a(q)1424 413 y Fi(m)1377 535 y Fl(s)p 1358 555
V 1360 504 53 2 v 1358 556 V 1411 556 2 53 v 1364 593
a FA(50)1394 503 y Fh(\002)1401 482 y(\002)18 b(B)1440
503 y(B)1456 535 y Fl(t)p 1435 555 V 1437 504 53 2 v
1435 556 V 1488 556 2 53 v 1442 593 a FA(36)1440 389
y Fh(\012)1456 365 y(\012)34 b(J)1535 389 y(J)1570 419
y Fl(r)1578 413 y Fi(m)p 1513 555 V 1515 504 53 2 v 1513
556 V 1566 556 2 53 v 1519 593 a FA(25)1548 503 y Fh(\002)1555
482 y(\002)18 b(B)1595 503 y(B)p 1590 555 V 1592 504
53 2 v 1590 556 V 1643 556 2 53 v 1607 593 a FA(3)570
685 y Fv(Figure)11 b(3:)16 b(Example)11 b(T)n(ree)h(for)f(MT)l(-SSS*)
206 823 y(The)d(relationship)e(between)i(SSS*)i(and)e(Alpha-Beta)g
(will)g(be)g(discussed)f(using)g(an)i(example)135 880
y(which)h(concentrates)g(on)g(the)h(higher)o(-level)e(concepts.)16
b(Formality)10 b(is)g(deferred)h(to)f(appendix)g(A.)206
936 y(The)15 b(two)h(key)g(concepts)f(in)g(our)h(explanation)e(of)i
(the)g(relationship)e(between)i(SSS*)g(and)135 993 y(Alpha-Beta)11
b(are)h(an)f Fp(upper)g(bound)g Fv(on)f(the)h(minimax)g(value,)h(and)f
(a)g Fp(max)g(solution)e(tr)n(ee)p Fv(,)j(which)135 1049
y(is)f(the)h(minimal)f(search)h(tree)g(that)f(proves)g(an)h(upper)f
(bound.)1125 1033 y Ft(2)1159 1049 y Fv(W)l(e)h(will)f(explain)f(max)i
(solution)135 1105 y(trees,)g(and)f(how)f(SSS*)i(constructs)e(them,)h
(shortly)m(.)135 1228 y Fp(2.1)45 b(Example)135 1291
y Fv(Figure)14 b(3)f(is)g(used)h(to)f(illustrate)f(how)h(SSS*)h(and)g
(MT)l(-SSS*)g(search)g(for)g(the)g(minimax)f(value.)135
1347 y(This)i(section)g(contains)f(a)j(detailed)e(description)f(of)i
(how)f(MT)l(-SSS*)i(works.)30 b(The)16 b(example)135
1404 y(assumes)h(some)h(familiarity)f(with)g(SSS*.)36
b(One)18 b(of)g(the)f(reasons)g(to)g(create)i(MT)l(-SSS*)f(was)135
1460 y(the)c(sense)f(of)h(confusion)e(that)h(the)h(complexity)f(of)g
(SSS*)i(brings)e(about.)23 b(By)14 b(using)f(standard)135
1516 y(concepts)i(from)h(the)g(Alpha-Beta)f(literature)h(we)g(try)f(to)
g(alleviate)g(this)g(problem.)30 b(Although)135 1573
y(instructive,)10 b(going)g(through)g(the)h(example)h(step-by-step)e
(is)h(not)g(necessary)g(to)g(follow)f(the)h(rest)135
1629 y(of)17 b(this)f(article.)34 b(For)17 b(ease)g(of)h(reference,)i
(this)15 b(tree)j(is)e(the)h(same)h(as)f(used)f(by)h(Pearl)g(in)g(his)
135 1686 y(explanation)9 b(of)j(SSS*)g([30)o(].)206 1742
y(A)i(number)h(of)g(stages,)h(or)f(passes,)g(can)h(be)f(distinguis)o
(hed)d(in)j(the)f(traversal)h(of)g(this)e(tree.)135 1799
y(At)h(the)g(end)g(of)h(each)g(pass)f(the)g(OPEN)g(list)f(consists)g
(of)h Fp(solved)g Fv(nodes)g(only)m(.)25 b(W)l(e)15 b(will)f(go)g(to)
135 1855 y(some)e(depth)f(examining)g(how)g(Alpha-Beta)g(can)h(be)g
(used)f(to)g(traverse)h(this)f(tree)h(in)f(a)h(best-\256rst)135
1912 y(fashion.)17 b(For)12 b(reasons)f(of)h(brevity)f(we)h(refer)g(to)
f(to)h([30)o(,)h(35)o(,)f(39])g(for)g(the)f(details)g(of)g(how)g(SSS*)
135 1968 y(traverses)i(the)h(tree.)23 b(In)14 b(the)f(\256gures)h(the)f
(nodes)g(are)h(numbered)g Fp(a)f Fv(to)g Fp(t)h Fv(in)f(the)g(order)h
(in)f(which)135 2025 y(SSS*)f(\256rst)f(visits)e(them.)135
2081 y Fp(First)h(pass:)15 b Fv(\(see)d(\256gure)f(4\))135
2138 y(In)j(the)g(\256rst)f(pass)h(the)f(left-most)h(max)g(solution)d
(tree)k(is)e(constructed,)h(creating)f(the)h(\256rst)g(non-)135
2194 y(trivial)8 b(upper)i(bound)e(on)i(the)f(minimax)h(value)f(of)h
(the)f(root.)15 b(+)p Fs(\245)10 b Fv(and)f Fo(\000)p
Fs(\245)h Fv(are)g(used)f(as)h(the)f(upper)135 2250 y(and)k(lower)f
(bounds)g(on)g(the)h(range)g(of)g(leaf)g(values.)21 b(In)13
b(real)g(implementations,)f(these)h(bounds)135 2307 y(are)f(suitably)d
(lar)o(ge)j(\256nite)e(numbers.)206 2363 y(As)f(can)h(be)h(seen)e(from)
i(the)f(example)g(in)f([30],)i(SSS*)f(starts)g(by)f(building)f(the)i
(tree)g(shown)f(in)135 2420 y(\256gure)i(4,)h(using)d(cases)j(4,)f(5,)g
(and)g(6)g(of)g(the)g Fu(G)h Fv(operator)m(.)17 b(At)11
b(max)g(nodes,)g(all)g(the)f(children)h(were)135 2476
y(expanded)g(\(case)h(6\),)h(while)d(at)i(min)g(nodes)f(only)f(the)i
(\256rst)f(child)g(was)h(added)f(to)g(the)h(OPEN)f(list)135
2533 y(\(case)j(5\).)22 b(Case)14 b(4)f(evaluated)f(the)h(leaf)g(nodes)
g(of)g(the)g(tree.)22 b(Sorting)12 b(the)h(list)f(guaranteed)h(that)p
135 2573 624 2 v 188 2601 a Fr(2)202 2617 y Fq(Stockman)8
b(originally)i(used)e(min)i(solution)e(trees)h(to)h(explain)f(his)g
(algorithm.)14 b(W)m(e)c(explain)e(SSS*)g(using)h(upper)135
2662 y(bounds)e(and)i(max)f(solution)h(trees,)g(since)f(it)i(improves)f
(the)g(clarity)h(of)f(the)g(ar)o(guments.)904 2803 y
Fv(7)p eop
%%Page: 8 8
8 7 bop 836 70 a Fx(\246)855 55 y Ft(+)884 70 y FA(=)12
b(41)26 b Fl(a)p 971 90 2 53 v 973 39 53 2 v 970 92 V
1023 92 2 53 v 542 187 a Fx(\246)561 172 y Ft(+)591 187
y FA(=)12 b(41)28 b Fl(b)707 181 y Fi(m)506 303 y Fx(\246)525
288 y Ft(+)555 303 y FA(=)12 b(41)27 b Fl(c)p 641 322
V 643 272 53 2 v 641 324 V 694 324 2 53 v 457 419 a Fx(\246)476
404 y Ft(+)506 419 y FA(=)11 b(41)29 b Fl(d)622 413 y
Fi(m)573 535 y Fl(e)p 555 555 V 557 504 53 2 v 556 556
V 609 556 2 53 v 561 593 a FA(41)592 503 y Fh(\002)599
482 y(\002)632 386 y(\014)641 365 y(\014)20 b(L)687 386
y(L)705 419 y Fx(\246)30 b(\246)773 404 y Ft(+)802 419
y FA(=)12 b(12)714 413 y Fi(m)665 535 y Fl(g)p 649 555
V 651 504 53 2 v 649 556 V 702 556 2 53 v 655 593 a FA(12)684
503 y Fh(\002)691 482 y(\002)677 271 y(\002)684 250 y(\002)734
170 y(!)775 153 y(!)817 137 y(!)858 120 y(!)900 104 y(!)930
92 y(!)51 b(a)1065 108 y(a)1106 125 y(a)1148 141 y(a)1189
158 y(a)1219 170 y(a)1277 187 y Fl(h)29 b Fx(\246)1346
172 y Ft(+)1376 187 y FA(=)12 b(36)1288 181 y Fi(m)1166
303 y Fl(i)30 b Fx(\246)1227 288 y Ft(+)1257 303 y FA(=)12
b(36)p 1145 322 V 1147 272 53 2 v 1145 324 V 1198 324
2 53 v 960 419 a Fx(\246)979 404 y Ft(+)1009 419 y FA(=)g(34)33
b Fl(j)1125 413 y Fi(m)1077 535 y Fl(k)p 1059 555 V 1061
504 53 2 v 1059 556 V 1112 556 2 53 v 1065 593 a FA(34)1095
503 y Fh(\002)1102 482 y(\002)1136 386 y(\014)1144 365
y(\014)21 b(L)1191 386 y(L)1212 419 y Fl(l)33 b Fx(\246)1276
404 y Ft(+)1306 419 y FA(=)12 b(36)1218 413 y Fi(m)1164
535 y Fl(m)p 1152 555 V 1154 504 53 2 v 1152 556 V 1205
556 2 53 v 1158 593 a FA(36)1188 503 y Fh(\002)1195 482
y(\002)1198 271 y(\000)1226 243 y(\000)767 685 y Fv(Figure)f(4:)k(Pass)
d(1)135 823 y(the)g(entry)h(with)e(the)i(highest)e(upper)h(bound)g(was)
g(at)h(the)f(front.)21 b(It)12 b(is)g(interesting)f(to)h(determine)135
880 y(the)j(minimax)g(value)g(of)g(the)g(sub-tree)g(expanded)f(thus)g
(far)i(\(see)g(\256gure)f(4\).)29 b(Since)15 b(only)f(one)135
936 y(child)g(of)h(a)g(min)g(node)g(is)f(included,)h(minimaxing)f(the)h
(leaf)g(values)f(simpli\256es)g(to)h(taking)e(the)135
993 y(maximum)f(of)f(all)g(the)g(leaves.)17 b(The)11
b(minimax)g(value)g(of)g(this)g(tree)g(is)g(41,)g(the)g(maximum)h(of)f
(the)135 1049 y(leaves,)k(which)f(is)f(also)h(the)607
1038 y(\303)603 1049 y Fp(h)g Fv(value)g(of)g(the)g(\256rst)g(entry)g
(of)g(the)g(OPEN)g(list.)25 b(The)14 b(\(left-most\))135
1105 y(leaf)h(equal)g(to)f(the)h(value)g(at)g(the)f(root)h(is)f(called)
h(the)g Fp(critical)e Fv(leaf,)k(while)d(the)h(path)f(from)h(the)135
1162 y(root)e(to)g(the)h(critical)f(leaf)h(is)f(the)g
Fp(principal)f(variation)p Fv(.)22 b(A)14 b(tree)g(which)f(includes)f
(one)h(child)g(at)135 1218 y(min)h(nodes)f(and)h(all)f(children)g(at)h
(max)g(nodes,)h(is)e(called)h(a)g Fp(max)g(solution)d
Fv(tree)j(\(for)h(example,)135 1275 y(\256gure)9 b(4\).)16
b(The)8 b(term)h(\252solution)e(tree\272)i(was)g(originally)d(used)j
(in)f(the)g(context)g(of)h(AND/OR)f(trees,)135 1331 y(where)14
b(it)g(meant,)h(in)f(our)g(terminology)m(,)f(a)h(min)g(solution)e(tree)
i(\(one)g(child)g(at)g(max)g(nodes)f(and)135 1388 y(all)d(children)g
(at)h(min)g(nodes\).)16 b(SSS*)11 b(has)g(shown)e(that)i(solution)d
(trees)j(are)g(a)h(useful)e(concept)g(for)135 1444 y(understanding)f
(game-tree)j(algorithms.)j(Solution)10 b(trees)h(are)h(discussed)d(in)i
([21,)g(22,)h(31)o(,)g(51)o(].)206 1501 y(Instead)e(of)h(using)f
Fu(G)i Fv(cases)f(4,)g(5)g(and)g(6)g(and)g(a)g(sorted)f(OPEN)h(list,)g
(there)g(are)g(other)g(ways)g(to)135 1557 y(compute)f(the)g
(\252left-\256rst\272)g(upper)g(bound)f(on)g(the)h(minimax)g(value)g
(of)g Fp(a)p Fv(.)16 b(One)10 b(way)g(is)g(suggested)135
1614 y(by)g(the)g(following)e(post-condition)g(of)i(the)g(Alpha-Beta)g
(procedure.)16 b(Assume)10 b(for)h(node)f Fp(n)g Fv(with)135
1670 y(minimax)k(value)g Fs(\246)p Fv(,)h(that)e Fp(g)h
Fv(is)f(the)h(return)g(value)g(of)g(an)g(Alpha-Beta\()p
Fp(n)p Fs(,)7 b Fg(a)s Fs(,)h Fg(b)t Fv(\))14 b(call.)25
b(There)14 b(are)135 1726 y(three)d(possible)f(outcomes:)192
1820 y(1.)23 b Fg(a)16 b Fp(<)c(g)g(<)h Fg(b)h Fv(\(success\).)j
Fp(g)11 b Fv(is)g(equal)f(to)h(the)g(minimax)g(value)g
Fs(\246)g Fv(of)g(node)g Fp(n)p Fv(.)192 1914 y(2.)23
b Fp(g)12 b Fs(\243)g Fg(a)j Fv(\(failing)10 b(low\).)16
b Fp(g)11 b Fv(is)g(an)g(upper)g(bound)f(on)h Fs(\246)p
Fv(,)h(denoted)e Fs(\246)1263 1898 y Ft(+)1281 1914 y
Fv(,)i(or)f Fs(\246)h(\243)h Fp(g)p Fv(.)192 2008 y(3.)23
b Fp(g)12 b Fs(\263)g Fg(b)j Fv(\(failing)10 b(high\).)16
b Fp(g)11 b Fv(is)g(a)g(lower)g(bound)f(on)h Fs(\246)p
Fv(,)h(denoted)e Fs(\246)1250 1991 y Fn(\000)1278 2008
y Fv(,)h(or)h Fs(\246)g(\263)g Fp(g)p Fv(.)135 2102 y(Using)i(outcome)h
(2,)h(we)g(can)f(force)h(the)f(Alpha-Beta)g(procedure)g(to)f(return)h
(an)h(upper)e(bound)135 2158 y(\(fail)c(low\))g(by)g(calling)f(it)h
(with)f(a)i(search)g(window)e(greater)h(than)g(any)g(possible)f(leaf)h
(node)g(value.)135 2215 y(Since)17 b(both)e(Alpha-Beta)h(and)h(SSS*)g
(expand)f(nodes)f(in)h(a)h(left-to-right)e(order)n(,)j(Alpha-Beta)135
2271 y(when)13 b(called)h(with)f(this)f(window)g(will)h(\256nd)h(the)f
(same)h(upper)g(bound,)f(and)h(expand)f(the)h(same)135
2328 y(max)j(solution)d(tree,)k(as)e(SSS*.)32 b(Appendix)15
b(A)h(provides)f(a)i(more)f(formal)h(treatment)f(of)g(this)135
2384 y(claim.)206 2440 y(In)j(the)f(special)h(case)g(where)g
Fg(a)27 b Fv(=)c Fg(b)18 b Fo(\000)d Fv(1,)21 b(Alpha-Beta)e(always)f
(returns)g(a)i(bound)e(on)135 2497 y(the)e(minimax)g(value.)32
b(This)16 b(search)g(window)m(,)h(the)f(narrowest)g(possible)f(for)h
(integer)o(-valued)135 2553 y(evaluations,)9 b(is)g(called)h(a)g
(minimal)g(or)g(null)f(window)m(.)15 b(The)9 b(concept)h(of)g(a)g
(null-window)e(search,)135 2610 y(or)i(proof)g(procedure,)h(is)e(well)h
(known)f([14)o(,)i(29)o(].)17 b(Many)10 b(people)g(have)g(noted)f(that)
h(null-window)135 2666 y(search)15 b(is)f(more)i(ef)o(\256cient)f(than)
f(wide-window)f(search,)k(because)d(the)h(tighter)f(bounds)f(cause)904
2803 y(8)p eop
%%Page: 9 9
9 8 bop 836 70 a Fx(\246)855 55 y Ft(+)884 70 y FA(=)12
b(36)26 b Fl(a)p 971 90 2 53 v 973 39 53 2 v 970 92 V
1023 92 2 53 v 693 187 a Fx(\246)712 172 y Ft(+)742 187
y FA(=)12 b(12)28 b Fl(b)858 181 y Fi(m)657 303 y Fx(\246)676
288 y Ft(+)706 303 y FA(=)12 b(12)27 b Fl(c)p 792 322
V 794 272 53 2 v 792 324 V 845 324 2 53 v 605 419 a Fx(\246)624
404 y Ft(+)654 419 y FA(=)12 b(5)28 b Fl(d)749 413 y
Fi(m)701 535 y Fl(e)p 683 555 V 685 504 53 2 v 684 556
V 737 556 2 53 v 689 593 a FA(41)719 503 y Fh(\002)726
482 y(\002)18 b(B)765 503 y(B)778 535 y Fl(n)p 762 555
V 764 504 53 2 v 761 556 V 814 556 2 53 v 778 593 a FA(5)764
388 y Fh(\024)778 365 y(\024)31 b(T)860 406 y(T)864 413
y(T)860 556 y(\004)869 514 y(\004)877 473 y(\004)880
455 y(\004)909 556 y(D)901 514 y(D)892 473 y(D)889 455
y(D)p 860 557 57 2 v 918 419 a Fx(\246)937 404 y Ft(+)967
419 y FA(=)12 b(12)879 535 y Fx(\246)824 593 y FA(skipped)828
271 y Fh(\002)835 250 y(\002)880 162 y(,)922 128 y(,)930
121 y(,)51 b(l)1065 156 y(l)1095 181 y(l)982 187 y Fx(\246)1001
172 y Ft(+)1030 187 y FA(=)12 b(36)1062 556 y Fh(\004)1070
514 y(\004)1078 473 y(\004)1087 431 y(\004)1095 390 y(\004)1103
348 y(\004)1112 307 y(\004)1120 265 y(\004)1128 224 y(\004)1128
222 y(\004)1203 556 y(D)1195 514 y(D)1187 473 y(D)1178
431 y(D)1170 390 y(D)1162 348 y(D)1154 307 y(D)1145 265
y(D)1137 224 y(D)1137 222 y(D)p 1062 557 150 2 v 1126
535 a Fl(h)1072 593 y FA(skipped)767 685 y Fv(Figure)f(5:)k(Pass)d(2)
135 823 y(more)e(cutof)o(fs)f([1,)h(8,)g(9,)g(14)o(,)g(28,)g(46)o(].)16
b(Pearl)11 b(introduced)d(the)h(procedure)g(T)m(est,)h(part)f(of)h(his)
e(Scout)135 880 y(algorithm)h([28)o(,)i(29)o(].)17 b(NegaScout)9
b([40,)h(41],)h(an)f(enhanced)f(version)g(of)h(Scout,)g(has)g(become)g
(the)135 936 y(algorithm)e(of)i(choice)f(for)h(many)g(game-playing)e
(programs.)16 b(W)l(e)11 b(named)e(our)h(proof-procedure)135
993 y(MT,)j(for)f(Memory-enhanced)g(T)m(est.)19 b(MT)12
b(returns)g(a)g(bound,)f(not)h(just)e(a)j(Boolean)e(value.)19
b(This)135 1049 y(procedure)d(is)g(sometimes)g(called)g
Fp(fail-soft)f Fv(T)m(est.)31 b(The)17 b(name)g(MT)f(is)g(just)f
(shorthand)g(for)i(a)135 1105 y(null-window)9 b(call)i(to)f(Alpha-Beta)
h(enhanced)g(with)f(storage)h(\(such)g(as)g(a)h(transposition)c
(table\).)206 1162 y(A)14 b(call)f(Alpha-Beta\()p Fp(a)p
Fs(,)8 b(\245)j Fo(\000)h Fv(1)p Fs(,)c(\245)p Fv(\))14
b(will)f(cause)h(an)g(alpha)g(cutof)o(f)g(at)g(all)f(min)h(nodes,)h
(since)135 1218 y(all)h(internal)g(calls)g(return)g(values)g
Fp(g)k Fs(\243)g Fg(a)j Fv(=)d Fs(\245)13 b Fo(\000)g
Fv(1.)33 b(No)16 b(beta)h(cutof)o(fs)f(at)g(max)h(nodes)f(will)135
1275 y(occur)n(,)g(since)e(all)h Fp(g)i(<)g Fg(b)t Fv(.)26
b(The)15 b(call)f(Alpha-Beta\()p Fp(a)p Fs(,)7 b(\245)12
b Fo(\000)g Fv(1)p Fs(,)c(\245)p Fv(\))14 b(on)h(the)f(tree)h(in)f
(\256gure)h(3)f(will)135 1331 y(traverse)g(the)f(tree)h(in)f(\256gure)h
(4.)24 b(Due)14 b(to)f(the)g Fp(stor)n(e)h Fv(operation)e(in)h
(\256gure)h(2,)h(this)d(tree)i(is)f(saved)135 1388 y(in)f(memory)h(so)e
(that)h(its)f(backed-up)h(values)g(can)g(be)g(used)g(in)g(a)g(later)h
(pass.)19 b(The)12 b(max)g(solution)135 1444 y(tree)g(stored)e(at)h
(the)g(end)g(of)g(this)f(pass)h(consists)e(of)j(the)e(nodes)h
Fp(a)p Fs(,)d Fp(b)p Fs(,)f Fp(c)p Fs(,)h Fp(d)q Fs(,)g
Fp(e)p Fs(,)g(\246,)g Fp(g)p Fs(,)g Fp(h)p Fs(,)f Fp(i)p
Fs(,)h Fp(j)p Fs(,)g Fp(k)q Fs(,)g Fp(l)j Fv(and)g Fp(m)p
Fv(,)135 1501 y(yielding)i(an)j(upper)f(bound)f(of)h(41.)28
b(For)16 b(Stockman')m(s)f(formulation,)h(the)f(leaves)g(of)g(this)f
(tree)135 1557 y(are)g(stored)e(in)h(the)g(OPEN)g(list,)g(which)f(is)
827 1523 y Fj(\000)846 1557 y Fo(h)p Fp(e)p Fs(,)7 b
Fp(S)p Fs(,)h Fv(41)p Fo(i)p Fs(,)f Fo(h)p Fp(m)p Fs(,)h
Fp(S)p Fs(,)f Fv(36)p Fo(i)p Fs(,)g Fo(h)p Fp(k)q Fs(,)h
Fp(S)p Fs(,)g Fv(34)p Fo(i)p Fs(,)f Fo(h)p Fp(g)p Fs(,)g
Fp(S)p Fs(,)h Fv(12)p Fo(i)1555 1523 y Fj(\001)1573 1557
y Fv(.)23 b(Note)135 1614 y(that)7 b(the)g(entry)g(at)h(the)f(head)h
(of)g(the)f(list)f(is)h(also)h(41,)g(SSS*')m(s)g(upper)g(bound)e(on)h
(the)h(minimax)f(value.)135 1726 y Fp(Second)k(pass:)k
Fv(\(see)d(\256gure)f(5\))135 1783 y(This)f(pass)h(lowers)g(the)g
(upper)g(bound)f(on)h Fs(\246)g Fv(from)h(41)f(to)f(36)h(using)f
Fu(G)i Fv(cases)g(2)f(and)g(4)g(\(see)h([30)o(]\).)135
1839 y(The)f(OPEN)g(list)g(becomes)585 1805 y Fj(\000)604
1839 y Fo(h)p Fp(m)p Fs(,)d Fp(S)p Fs(,)f Fv(36)p Fo(i)p
Fs(,)g Fo(h)p Fp(k)q Fs(,)h Fp(S)p Fs(,)g Fv(34)p Fo(i)p
Fs(,)f Fo(h)p Fp(g)p Fs(,)g Fp(S)p Fs(,)h Fv(12)p Fo(i)p
Fs(,)f Fo(h)p Fp(n)p Fs(,)g Fp(S)p Fs(,)h Fv(5)p Fo(i)1293
1805 y Fj(\001)1311 1839 y Fv(.)18 b(Only)10 b(one)h(new)h(node)135
1896 y(has)i(been)g(expanded.)24 b(The)14 b(value)f(of)h(the)g(upper)f
(bound)g(is)h(determined)f(by)h(a)g(new)g(\(sharper\))135
1952 y(max)e(solution)c(tree,)k(whose)f(leaves)g(are)h(contained)e(in)g
(the)h(OPEN)g(list.)206 2009 y(How)k(can)h(we)g(use)g(Alpha-Beta)g(to)f
(lower)h(the)f(upper)h(bound)f(of)h(the)f(\256rst)h(pass?)30
b(Since)135 2065 y(the)12 b(max)h(solution)e(tree)i(de\256ning)e(the)i
(upper)f(bound)f(of)i(41)f(has)g(been)h(stored)f(by)g(the)g(previous)
135 2122 y(call,)18 b(we)e(can)g(re-traverse)h(the)f(nodes)f(on)h(the)g
(principal)f(variation)g(\()p Fp(a)p Fs(,)8 b Fp(b)p
Fs(,)f Fp(c)p Fs(,)h Fp(d)q Fs(,)g Fp(e)p Fv(\))17 b(to)e(\256nd)h(the)
135 2178 y(critical)f(leaf)g Fp(e)p Fv(,)i(and)f(see)f(whether)g
(expanding)f(its)g(brother)h(will)f(yield)h(a)g(search)h(tree)g(with)e
(a)135 2235 y(lower)h(minimax)g(value.)29 b(T)m(o)15
b(give)g(Alpha-Beta)g(the)g(task)g(of)h(returning)e(a)i(value)f(lower)g
(than)135 2291 y Fs(\246)156 2275 y Ft(+)189 2291 y Fv(=)f(41,)f(we)g
(give)f(it)g(a)h(search)g(window)f(which)g(will)f(cause)i(it)f(to)g
(fail)h(low)m(.)20 b(The)13 b(old)f(window)135 2347 y(of)i
Fo(h)p Fs(\245)d Fo(\000)i Fv(1)p Fs(,)7 b(\245)p Fo(i)14
b Fv(will)f(not)h(do,)h(since)f(the)g(code)g(in)g(\256gure)h(2)f(will)f
(cause)i(Alpha-Beta)f(to)f(return)135 2404 y(from)g(both)f(nodes)h
Fp(b)f Fv(and)h Fp(h)g Fv(with)f(a)h(value)g(of)g(41,)g(lower)g(than)f
Fs(\245)p Fv(.)22 b(A)13 b(better)g(choice)f(would)g(be)135
2460 y(the)f(search)g(window)e Fo(h)p Fs(\246)525 2444
y Ft(+)552 2460 y Fo(\000)h Fv(1)p Fs(,)e(\246)659 2444
y Ft(+)677 2460 y Fo(i)p Fv(,)j(or)g Fo(h)p Fv(40)p Fs(,)c
Fv(41)p Fo(i)p Fv(,)k(which)f(prompts)g(Alpha-Beta)h(to)f(descend)g
(the)135 2517 y(principal)j(variation)g(and)h(return)f(as)h(soon)g(as)g
(a)g(lower)g Fs(\246)1067 2500 y Ft(+)1099 2517 y Fv(on)g(node)f
Fp(a)h Fv(is)g(found.)24 b(Alpha-Beta)135 2573 y(will)12
b(descend)g(to)g(nodes)g Fp(b)p Fs(,)c Fp(c)p Fs(,)g
Fp(d)q Fs(,)f Fp(e)13 b Fv(and)g(continue)e(to)i(search)g(node)f
Fp(n)p Fv(.)21 b(It)12 b(will)g(back)h(up)f(value)g(5)135
2630 y(to)h(node)h Fp(d)g Fv(and)g(cause)g(a)g(cutof)o(f.)25
b(The)13 b(value)h(of)g Fp(d)g Fv(is)g(no)f(longer)g(determined)h(by)f
Fp(e)h Fv(but)f(by)h Fp(n)p Fv(.)904 2803 y(9)p eop
%%Page: 10 10
10 9 bop 836 70 a Fx(\246)855 55 y Ft(+)884 70 y FA(=)12
b(35)26 b Fl(a)p 971 90 2 53 v 973 39 53 2 v 970 92 V
1023 92 2 53 v 610 187 a Fx(\246)629 172 y Ft(+)659 187
y FA(=)11 b(12)690 556 y Fh(\004)698 514 y(\004)706 473
y(\004)715 431 y(\004)723 390 y(\004)731 348 y(\004)740
307 y(\004)748 265 y(\004)756 224 y(\004)756 222 y(\004)831
556 y(D)823 514 y(D)815 473 y(D)807 431 y(D)798 390 y(D)790
348 y(D)782 307 y(D)773 265 y(D)765 224 y(D)765 222 y(D)p
690 557 150 2 v 754 535 a Fl(b)700 593 y FA(skipped)765
181 y Fh(\010)806 160 y(\010)848 139 y(\010)889 119 y(\010)930
98 y(\010)51 b(H)1065 119 y(H)1106 140 y(H)1148 161 y(H)1162
168 y(H)1219 187 y Fl(h)29 b Fx(\246)1288 172 y Ft(+)1318
187 y FA(=)12 b(35)1230 181 y Fi(m)1108 303 y Fl(i)30
b Fx(\246)1169 288 y Ft(+)1199 303 y FA(=)12 b(35)p 1086
322 2 53 v 1088 272 53 2 v 1086 324 V 1139 324 2 53 v
889 419 a Fx(\246)908 404 y Ft(+)937 419 y FA(=)g(34)1015
556 y Fh(\004)1024 514 y(\004)1032 473 y(\004)1035 455
y(\004)1064 556 y(D)1056 514 y(D)1047 473 y(D)1044 455
y(D)p 1015 557 57 2 v 1038 535 a Fl(j)979 593 y FA(skipped)1044
413 y Fh(\024)1069 372 y(\024)1073 365 y(\024)31 b(T)1143
388 y(T)1177 419 y Fl(l)j Fx(\246)1242 404 y Ft(+)1271
419 y FA(=)12 b(35)1183 413 y Fi(m)1129 535 y Fl(m)p
1117 555 2 53 v 1119 504 53 2 v 1117 556 V 1170 556 2
53 v 1123 593 a FA(36)1153 503 y Fh(\002)1160 482 y(\002)18
b(B)1199 503 y(B)1212 535 y Fl(o)p 1196 555 V 1198 504
53 2 v 1195 556 V 1248 556 2 53 v 1202 593 a FA(35)1140
271 y Fh(\000)1168 243 y(\000)767 685 y Fv(Figure)11
b(6:)k(Pass)d(3)135 823 y(Node)i Fp(e)h Fv(is)e(no)h(longer)g(part)g
(of)g(the)g(max)h(solution)d(tree)j(that)e(determines)h(the)g(sharpest)
f(upper)135 880 y(bound.)j(It)11 b(has)g(been)h(proven)f(that)f
Fp(e)i Fv(can)g(be)f(erased)h(from)g(memory)g(as)f(long)g(as)g(we)h
(remember)135 936 y(that)e Fp(n)g Fv(is)g(the)h(new)f(best)g(child)g
(\(not)g(shown)f(in)h(the)g(Alpha-Beta)h(code\).)16 b(The)11
b(value)f(5)g(is)g(backed)135 993 y(up)i(to)g Fp(c)p
Fv(.)21 b(No)12 b(beta)g(cutof)o(f)h(occurs)f(at)g Fp(c)p
Fv(,)i(so)e Fs(\246)p Fv(')m(s)h(bound)e(is)h(retrieved.)20
b(Since)13 b Fs(\246)1405 976 y Ft(+)1437 993 y Fs(\243)i
Fg(a)g Fv(at)e(node)f Fs(\246)p Fv(,)135 1049 y(it)h(returns)g
(immediately)g(with)f(value)i(12.)23 b(12)13 b(is)g(backed)g(up)g(to)h
Fp(b)p Fv(,)g(where)g(it)f(causes)g(an)h(alpha)135 1105
y(cutof)o(f.)30 b(Next,)16 b(12)g(is)f(backed)g(up)h(to)f
Fp(a)p Fv(.)30 b(Since)15 b Fp(g)k(<)f Fg(b)t Fv(,)f(node)e
Fp(h)h Fv(is)f(entered,)i(which)e(returns)135 1162 y(immediately)f(its)
g(value)g(of)g(36.)27 b(The)14 b(call)g(Alpha-Beta\()p
Fp(a)p Fs(,)8 b Fv(40)p Fs(,)f Fv(41\))15 b(fails)f(low)f(with)h(value)
g(36,)135 1218 y(the)e(sharper)f(upper)h(bound.)17 b(The)12
b(max)g(solution)e(tree)i(de\256ning)f(this)f(bound)h(consists)f(of)i
(nodes)135 1275 y Fp(a)p Fs(,)c Fp(b)p Fs(,)f Fp(c)p
Fs(,)i Fp(d)q Fs(,)e Fp(n)p Fs(,)h(\246,)g Fp(g)p Fs(,)f
Fp(h)p Fs(,)h Fp(i)p Fs(,)g Fp(j)p Fs(,)g Fp(k)q Fs(,)f
Fp(l)k Fv(and)g Fp(m)h Fv(\(that)e(is,)h(node)g Fp(e)h
Fv(has)f(been)g(replaced)g(with)f Fp(n)p Fv(\).)206 1331
y(By)16 b(storing)e(previously)g(expanded)i(nodes)f(in)g(memory)m(,)k
(and)d(calling)e(Alpha-Beta)i(with)135 1388 y(the)d(right)e(search)i
(window)m(,)g(we)g(can)g(make)g(it)f(traverse)h(the)g(principal)e
(variation.)20 b(Alpha-Beta)135 1444 y(expands)11 b(brothers)g(of)h
(the)g(critical)f(leaf)h(to)g(get)f(a)i(better)e(upper)h(bound)f(on)g
(the)h(minimax)g(value)135 1501 y(of)f(the)g(root,)g(in)g(exactly)f
(the)h(same)h(way)f(as)g(SSS*)h(does.)135 1614 y Fp(Thir)n(d)f(Pass:)k
Fv(\(see)d(\256gure)f(6\))135 1670 y(In)i(this)e(pass,)i(the)g(upper)f
(bound)g(is)g(lowered)g(from)h(36)g(to)f(35.)21 b(Again,)13
b(only)e(one)i(new)f(node)h(is)135 1726 y(expanded.)j(The)11
b(new)g(OPEN)g(list)f(is)745 1692 y Fj(\000)764 1726
y Fo(h)p Fp(o)p Fs(,)d Fp(S)p Fs(,)h Fv(35)p Fo(i)p Fs(,)f
Fo(h)p Fp(k)q Fs(,)g Fp(S)p Fs(,)h Fv(34)p Fo(i)p Fs(,)f
Fo(h)p Fp(g)p Fs(,)h Fp(S)p Fs(,)f Fv(12)p Fo(i)p Fs(,)g
Fo(h)p Fp(n)p Fs(,)h Fp(S)p Fs(,)f Fv(5)p Fo(i)1442 1692
y Fj(\001)1461 1726 y Fv(.)206 1783 y(In)13 b(the)h(Alpha-Beta)f(case,)
i(a)f(call)g(Alpha-Beta\()p Fp(a)p Fs(,)7 b Fv(35)p Fs(,)h
Fv(36\))13 b(is)g(performed.)25 b(From)14 b(the)g(pre-)135
1839 y(vious)e(search,)k(we)e(know)f(that)g Fp(b)g Fv(has)h(an)g
Fs(\246)843 1823 y Ft(+)877 1839 y Fs(\243)i Fv(35)e(and)f
Fp(h)h Fv(does)f(not.)24 b(The)14 b(algorithm)f(follows)135
1896 y(the)h(principal)f(variation)g(leading)g(to)g(the)h(leaf)h(node)e
(with)h(value)f(36)h(\()p Fp(h)p Fs(,)8 b Fp(i)p Fs(,)g
Fp(l)p Fs(,)f Fp(m)p Fv(\).)26 b(The)14 b(brother)135
1952 y(of)i Fp(m)h Fv(is)e(expanded.)32 b(The)16 b(bound)f(on)h(the)g
(minimax)g(value)g(at)g(the)g(root)g(has)g(now)g(been)g(im-)135
2009 y(proved)f(from)g(36)g(to)g(35.)28 b(The)15 b(max)h(solution)d
(tree)i(de\256ning)f(this)g(bound)g(consists)g(of)h(nodes)135
2065 y Fp(a)p Fs(,)8 b Fp(b)p Fs(,)f Fp(c)p Fs(,)i Fp(d)q
Fs(,)e Fp(n)p Fs(,)h(\246,)g Fp(g)p Fs(,)f Fp(h)p Fs(,)h
Fp(i)p Fs(,)g Fp(j)p Fs(,)g Fp(k)q Fs(,)f Fp(l)k Fv(and)g
Fp(o)p Fv(.)135 2178 y Fp(Fourth)f(Pass:)15 b Fv(\(see)d(\256gure)f
(7\))135 2235 y(This)g(is)h(the)g(last)f(pass)h(of)g(SSS*,)h(in)f
(which)g(the)f(upper)h(bound)f(cannot)h(be)g(lowered.)19
b Fu(G)13 b Fv(cases)f(1)135 2291 y(and)e(3)h(back)f(up)g(35)h(to)f
(the)g(root.)16 b(Again,)10 b(we)h(refer)g(to)f([30])g(for)h(the)f
(details)g(of)g(the)h(SSS*)g(part)f(of)135 2347 y(the)h(example.)206
2404 y(In)h(the)f(Alpha-Beta)h(case,)h(a)g(call)f(with)f(window)f
Fo(h)p Fs(\246)1048 2387 y Ft(+)1077 2404 y Fo(\000)h
Fv(1)p Fs(,)c(\246)1184 2387 y Ft(+)1203 2404 y Fo(i)p
Fv(,)12 b(or)g(Alpha-Beta\()p Fp(a)p Fs(,)c Fv(34)p Fs(,)f
Fv(35\),)135 2460 y(is)i(performed.)17 b(In)9 b(this)g(pass)g(we)g
(will)g(not)g(\256nd)g(a)h(fail)f(low)g(as)h(usual,)f(but)g(a)h(fail)f
(high)g(with)f(return)135 2517 y(value)j(35.)16 b(The)11
b(return)g(value)g(is)f(now)h(a)h(lower)f(bound,)f(backed-up)h(by)f(a)i
(min)f(solution)e(tree.)206 2573 y(How)17 b(does)g(Alpha-Beta)g
(traverse)h(this)f(min)g(solution)f(tree?)36 b(The)17
b(search)h(follows)e(the)135 2630 y(critical)f(path)h
Fp(a)p Fs(,)8 b Fp(h)p Fs(,)f Fp(i)p Fs(,)h Fp(l)16 b
Fv(and)f Fp(o)p Fv(.)31 b(At)16 b(node)f Fp(l)p Fv(,)j(both)d(its)g
(children)g(immediately)g(return)h(without)892 2803 y(10)p
eop
%%Page: 11 11
11 10 bop 810 70 a Fl(a)26 b Fx(\246)876 55 y Fn(\000)915
70 y FA(=)12 b(35)p 793 90 2 53 v 795 39 53 2 v 793 92
V 846 92 2 53 v 375 187 a Fx(\246)394 172 y Ft(+)423
187 y FA(=)g(12)454 556 y Fh(\004)463 514 y(\004)471
473 y(\004)480 431 y(\004)488 390 y(\004)496 348 y(\004)505
307 y(\004)513 265 y(\004)521 224 y(\004)521 222 y(\004)596
556 y(D)588 514 y(D)580 473 y(D)571 431 y(D)563 390 y(D)555
348 y(D)546 307 y(D)538 265 y(D)530 224 y(D)529 222 y(D)p
454 557 150 2 v 519 535 a Fl(b)465 593 y FA(skipped)529
181 y Fh(!)571 164 y(!)612 148 y(!)654 131 y(!)696 114
y(!)737 98 y(!)752 92 y(!)52 b(a)888 108 y(a)929 125
y(a)971 141 y(a)1012 158 y(a)1042 170 y(a)1100 187 y
Fl(h)29 b Fx(\246)1169 172 y Fn(\000)1208 187 y FA(=)12
b(35)1111 181 y Fi(m)707 303 y Fx(\246)726 288 y Fn(\000)765
303 y FA(=)g(35)30 b Fl(i)p 851 322 2 53 v 853 272 53
2 v 851 324 V 904 324 2 53 v 654 419 a Fx(\246)673 404
y Ft(+)702 419 y FA(=)12 b(34)780 556 y Fh(\004)788 514
y(\004)797 473 y(\004)800 455 y(\004)829 556 y(D)820
514 y(D)812 473 y(D)808 455 y(D)p 780 557 57 2 v 802
535 a Fl(j)744 593 y FA(skipped)808 413 y Fh(\024)833
372 y(\024)838 365 y(\024)31 b(T)908 388 y(T)942 419
y Fl(l)i Fx(\246)1006 404 y Fn(\000)1046 419 y FA(=)12
b(35)948 413 y Fi(m)894 535 y Fl(m)p 882 555 2 53 v 884
504 53 2 v 882 556 V 935 556 2 53 v 888 593 a FA(36)918
503 y Fh(\002)925 482 y(\002)18 b(B)964 503 y(B)976 535
y Fl(o)p 960 555 V 962 504 53 2 v 960 556 V 1013 556
2 53 v 966 593 a FA(35)904 284 y Fh(\010)946 263 y(\010)987
242 y(\010)1029 222 y(\010)1043 215 y(\010)52 b(H)1178
235 y(H)1220 256 y(H)1261 277 y(H)1276 284 y(H)1333 303
y Fl(p)26 b Fx(\246)1399 288 y Fn(\000)1438 303 y FA(=)12
b(36)p 1316 322 V 1318 272 53 2 v 1316 324 V 1369 324
2 53 v 1216 419 a Fl(q)29 b Fx(\246)1285 404 y Fn(\000)1325
419 y FA(=)11 b(36)1227 413 y Fi(m)1180 535 y Fl(s)p
1161 555 V 1163 504 53 2 v 1161 556 V 1214 556 2 53 v
1167 593 a FA(50)1197 503 y Fh(\002)1204 482 y(\002)18
b(B)1243 503 y(B)1260 535 y Fl(t)p 1239 555 V 1241 504
53 2 v 1239 556 V 1292 556 2 53 v 1246 593 a FA(36)1247
393 y Fh(\000)1275 365 y(\000)52 b(@)1397 393 y(@)1451
419 y Fl(r)1459 413 y Fi(m)767 685 y Fv(Figure)11 b(7:)k(Pass)d(4)200
829 y Fy(function)e FA(MT)l(-SSS*\()p Fl(n)p FA(\))h
Fx(\256)g(\246)p FA(;)251 b Fy(function)10 b FA(MT)l(-DUAL*\()p
Fl(n)p FA(\))h Fx(\256)h(\246)p FA(;)264 879 y Fl(g)f
FA(:=)h(+)p Fx(\245)p FA(;)570 b Fl(g)11 b FA(:=)g Fm(\000)p
Fx(\245)p FA(;)264 929 y Fy(r)o(epeat)600 b(r)o(epeat)329
978 y Fk(g)17 b FA(:=)12 b Fl(g)p FA(;)598 b Fk(g)18
b FA(:=)11 b Fl(g)p FA(;)329 1028 y Fl(g)g FA(:=)f(Alpha-Beta\()p
Fl(n)p Fx(,)d Fk(g)15 b Fm(\000)10 b FA(1)p Fx(,)d Fk(g)f
FA(\);)234 b Fl(g)12 b FA(:=)e(Alpha-Beta\()p Fl(n)p
Fx(,)c Fk(g)g Fx(,)i Fk(g)15 b FA(+)10 b(1\);)264 1078
y Fy(until)g Fl(g)h FA(=)h Fk(g)6 b FA(;)517 b Fy(until)9
b Fl(g)i FA(=)h Fk(g)6 b FA(;)264 1128 y Fy(r)o(eturn)12
b Fl(g)p FA(;)553 b Fy(r)o(eturn)12 b Fl(g)p FA(;)301
1276 y Fv(Figure)g(8:)j(SSS*)d(and)f(DUAL*)g(as)g(a)g(Sequence)h(of)f
(Alpha-Beta)g(Searches)135 1414 y(having)e(been)h(evaluated;)g(the)f
(value)h(is)g(retrieved)g(from)g(storage.)16 b(Note)10
b(that)f(the)h(previous)f(pass)135 1471 y(stored)f(an)i
Fs(\246)329 1454 y Ft(+)356 1471 y Fv(value)f(for)g Fp(l)p
Fv(,)h(while)e(this)g(pass)h(will)f(store)g(an)h Fs(\246)1083
1454 y Fn(\000)1111 1471 y Fv(.)16 b(The)9 b(value)g(of)g
Fp(l)g Fv(does)g(not)f(change,)135 1527 y Fp(j)p Fv(')m(s)h(bound)e(of)
i(34)f(precludes)g(it)f(from)i(being)f(searched,)i(so)e
Fp(i)p Fv(')m(s)g(value)g(remains)h(unchanged.)15 b(Node)135
1584 y Fp(i)d Fv(cannot)g(lower)g Fp(h)p Fv(')m(s)h(value)f(\()p
Fp(g)j(>)f Fg(a)s Fs(,)8 b Fv(35)14 b Fp(>)g Fv(34,)f(no)f(cutof)o(f)h
(occurs\),)g(so)f(the)g(search)h(explores)f Fp(p)p Fv(.)135
1640 y(Node)g Fp(p)g Fv(expands)f Fp(q)h Fv(which,)g(in)g(turn,)g
(searches)g Fp(s)g Fv(and)g Fp(t)p Fv(.)19 b(Since)13
b Fp(p)f Fv(is)f(a)i(maximizing)e(node,)h(the)135 1696
y(value)i(of)g Fp(q)g Fv(\(36\))g(causes)g(a)g(cutof)o(f:)22
b Fp(g)16 b Fo(6)p Fp(<)h Fg(b)t Fv(,)e(node)e Fp(r)h
Fv(is)g(not)f(searched.)26 b(Both)14 b(of)g Fp(h)p Fv(')m(s)g(children)
135 1753 y(are)f Fs(\263)g Fv(35.)18 b(Node)12 b Fp(h)g
Fv(returns)f(35,)h(and)g(so)g(does)f Fp(a)p Fv(.)19 b(Node)11
b Fp(a)h Fv(was)g(searched)g(attempting)f(to)g(show)135
1809 y(whether)i(its)g(value)g(was)g Fp(<)g Fv(or)h Fs(\263)f
Fv(35.)23 b Fp(h)13 b Fv(provides)g(the)g(answer:)20
b(greater)14 b(than)f(or)g(equal.)23 b(This)135 1866
y(call)9 b(to)h(Alpha-Beta)f(fails)g(high,)h(meaning)f(we)h(have)f(a)h
(lower)g(bound)e(of)i(35)f(on)h(the)f(search.)16 b(The)135
1922 y(previous)8 b(call)h(to)g(Alpha-Beta)g(established)f(an)h(upper)g
(bound)f(of)h(35.)16 b(Thus)8 b(the)h(minimax)h(value)135
1979 y(of)h(the)g(tree)h(is)e(proven)h(to)g(be)g(35.)206
2035 y(W)l(e)f(see)g(that)g(nothing)e(special)h(is)h(needed)g(to)f
(have)h(Alpha-Beta)g(traverse)g(the)g(min)f(solution)135
2092 y(tree)14 b Fp(a)p Fs(,)7 b Fp(h)p Fs(,)h Fp(i)p
Fs(,)f Fp(l)p Fs(,)h Fp(m)p Fs(,)g Fp(o)p Fs(,)g Fp(p)p
Fs(,)f Fp(q)p Fs(,)h Fp(s)13 b Fv(and)g Fp(t)p Fv(.)23
b(The)13 b(ordinary)f(cutof)o(f)i(decisions)d(cause)i(its)g(traversal,)
h(when)135 2148 y Fg(a)i Fv(=)c Fs(\246)236 2132 y Ft(+)254
2148 y Fv(\()p Fp(a)p Fv(\))e Fo(\000)h Fv(1)g(and)g
Fg(b)16 b Fv(=)c Fs(\246)572 2132 y Ft(+)591 2148 y Fv(\()p
Fp(a)p Fv(\).)135 2261 y(In)e(the)f(previous)f(four)i(passes)e(we)i
(called)f(Alpha-Beta)h(with)e(a)i(special)f(search)h(window)e(to)h
(have)135 2317 y(it)h(emulate)g(SSS*.)17 b(This)10 b(sequence)g(of)g
(calls,)h(creating)e(a)i(sequence)f(of)h(fail)f(lows)f(until)g(the)h
(\256nal)135 2374 y(fail)i(high,)g(can)h(be)f(captured)g(in)g(a)h
(single)e(loop,)h(given)f(by)h(the)g(pseudo-code)f(of)i(\256gure)f(8.)
20 b(The)135 2430 y(reformulation)10 b(is)h(called)g(MT)l(-SSS*.)206
2487 y(One)e(of)g(the)g(problems)g(with)f(Stockman')m(s)i(original)e
(SSS*)i(formulation)e(is)h(that)g(it)f(is)h(hard)h(to)135
2543 y(understand)f(what)h(is)g(\252really\272)h(going)e(on.)16
b(It)11 b(is)f(dif)o(\256cult)g(to)g(create)h(an)g(understanding)d(in)i
(terms)135 2600 y(of)i(concepts)e(above)i(the)f(level)g(of)g(which)g
Fu(G)i Fv(case)f(happens)e(when)h(and)h(does)f(what.)17
b(Part)12 b(of)f(the)135 2656 y(reason)k(is)f(the)h(iterative)f(nature)
g(of)h(the)g(algorithm.)26 b(This)14 b(has)h(been)g(the)f(motivation)f
(behind)892 2803 y(11)p eop
%%Page: 12 12
12 11 bop 135 81 a Fv(the)17 b(development)g(of)g(other)g(algorithms,)h
(notably)e(RecSSS*)j([4])e(and)g(SSS-2)i([31)o(],)h(which)135
138 y(are)c(recursive)f(formulations)e(of)i(SSS*.)29
b(Although)13 b(clarity)h(is)h(a)g(subjective)f(issue,)h(it)g(seems)135
194 y(simpler)c(to)g(express)g(SSS*)i(in)e(terms)h(of)f(a)h
(well-understood)d(algorithm)i(\(Alpha-Beta\),)h(rather)135
251 y(than)c(inventing)f(a)j(new)e(formulation.)15 b(W)l(e)10
b(think)d(that)i(comparing)f(the)h(codes)f(in)h(\256gures)g(1)g(and)f
(8)135 307 y(shows)i(why)h(we)g(believe)g(to)f(have)h(made)h(the)f
(algorithm)f(easier)h(to)g(understand.)k(Furthermore,)135
363 y(\256gure)i(8)h(also)e(gives)h(the)g(code)g(for)g(our)h
(reformulation)e(of)h(DUAL*,)i(called)e(MT)l(-DUAL*,)135
420 y(showing)12 b(the)h(versatility)e(of)j(this)e(formulation.)22
b(In)14 b(section)e(4)h(we)h(will)e(pursue)h(this)f(point)h(by)135
476 y(presenting)d(a)h(generalization)f(of)h(these)g(two)g(codes.)135
604 y Fw(3)45 b(All)11 b(About)g(Storage)135 671 y Fv(The)f(literature)
f(portrays)g(storage)g(as)h(the)g(biggest)e(problem)i(with)f(SSS*.)17
b(The)10 b(way)f(it)h(was)g(dealt)135 727 y(with)g(in)h(Stockman')m(s)g
(original)f(formulation)g(gave)h(rise)g(to)g(two)g(points)e(of)i
(criticism:)192 821 y(1.)23 b Fp(SSS*)14 b(is)g(slow)m(.)27
b Fv(Some)16 b(operations)d(on)i(the)f(sorted)g(OPEN)h(list)f(have)h
(non-polynomial)249 877 y(time)d(complexity)m(.)21 b(In)13
b(particular)n(,)g(measurements)g(show)f(that)g(the)h(pur)o(ge)f
(operation)g(of)249 934 y Fu(G)g Fv(case)f(1)g(consumes)g(about)f
(90\045)h(of)g(SSS*')m(s)h(runtime)f([24].)192 1028 y(2.)23
b Fp(SSS*)13 b(has)h(unr)n(easonable)f(storage)g(demands.)25
b Fv(Stockman)15 b(states)e(that)h(his)g(OPEN)g(list)249
1084 y(needs)d(to)g(store)g(at)h(most)f Fp(w)686 1067
y Fn(d)p Ff(d)q Fe(/)p Ft(2)p Fn(e)767 1084 y Fv(entries)g(for)h(a)g
(game)h(tree)e(of)h(uniform)f(branching)g(factor)249
1140 y Fp(w)16 b Fv(and)f(uniform)g(depth)g Fp(d)q Fv(\320the)g(number)
g(of)h(leaves)f(of)g(a)h(max)g(solution)d(tree.)30 b(In)15
b(the)249 1197 y(example)9 b(we)h(also)f(saw)g(that)g(a)g(single)g(max)
g(solution)f(tree)h(is)g(manipulated.)15 b(\(In)10 b(contrast,)249
1253 y(DUAL*)d(requires)i Fp(w)592 1237 y Fn(b)p Ff(d)q
Fe(/)p Ft(2)p Fn(c)670 1253 y Fv(entries,)g(the)f(number)h(of)g(leaves)
f(of)h(a)g(min)g(solution)d(tree.\))16 b(This)249 1310
y(is)10 b(usually)g(perceived)h(as)g(being)g(unreasonably)e(lar)o(ge)j
(storage)e(requirements.)135 1404 y(Several)17 b(alternatives)e(to)h
(the)g(SSS*)i(OPEN)e(list)f(have)i(been)f(proposed.)31
b(One)17 b(solution)d(im-)135 1460 y(plements)i(the)g(storage)g(as)g
(an)h(unsorted)e(array)m(,)j(alleviating)d(the)h(need)g(for)h(the)f
(costly)f(pur)o(ge)135 1516 y(operation)c(by)h(overwriting)f(old)h
(entries)f(\(RecSSS*)j([3,)f(4,)g(43)o(]\).)21 b(By)12
b(or)o(ganizing)g(this)f(data)h(as)135 1573 y(an)e(implicit)e(tree,)j
(there)f(is)f(no)h(need)g(to)f(do)h(any)f(explicit)g(sorting,)g(since)g
(the)h(principal)e(variation)135 1629 y(can)13 b(be)f(traversed)h(to)f
(\256nd)g(the)h(critical)f(leaf.)21 b(Another)11 b(alternative)h(is)g
(to)g(use)h(a)f(pointer)o(-based)135 1686 y(tree,)g(the)f(conventional)
e(implementation)h(of)h(a)g(recursive)g(data)g(structure.)206
1742 y(Our)e(solution)f(is)h(to)h(extend)f(Alpha-Beta)h(to)f(include)g
(the)g(well-known)g(transposition)e(table)135 1799 y(\(see,)19
b(for)f(example,)h(section)d(3.1)h(or)h([23)o(]\).)35
b(As)17 b(long)f(as)h(the)g(transposition)e(table)h(is)h(lar)o(ge)135
1855 y(enough)9 b(to)g(store)g(at)h(least)f(the)h(min)f(or)h(max)g
(solution)d(trees)1082 1839 y Ft(3)1109 1855 y Fv(that)i(are)h
(essential)f(for)g(the)h(ef)o(\256cient)135 1912 y(operation)d(of)g(MT)
l(-SSS*)i(and)e(MT)l(-DUAL*,)h(it)f(provides)g(for)h(fast)f(access)h
(and)f(ef)o(\256cient)h(storage.)135 1968 y(MT)l(-SSS*)k(will)e
(operate)h(when)g(the)g(table)g(is)f(too)h(small,)g(at)g(the)g(cost)g
(of)g(extra)g(re-expansions.)206 2025 y(The)e(\257exibility)e(of)j(the)
f(transposition)e(table)i(allows)f(experiments)h(with)f(dif)o(ferent)h
(memory)135 2081 y(sizes.)15 b(In)10 b(section)e(3.3)h(we)g(will)f(see)
h(how)g(big)f(the)h(transposition)d(table)i(should)g(be)h(for)g(MT)l
(-SSS*)135 2137 y(to)i(function)g(ef)o(\256ciently)m(.)18
b(That)11 b(section)g(presents)g(experimental)g(data)h(addressing)e
(the)i(storage)135 2194 y(concerns)j(of)f(SSS*.)29 b(Many)15
b(single)e(and)i(double)f(agent)g(search)h(programs)g(include)f
(iterative)135 2250 y(deepening)9 b(and)g(transposition)e(tables)i([19)
o(,)h(42].)16 b(They)9 b(are)i(also)e(used)g(in)g(our)g(experiments)g
(and)135 2307 y(are)j(brie\257y)f(described)f(below)m(.)135
2429 y Fp(3.1)45 b(T)m(ransposition)9 b(T)l(ables)h(and)h(Iterative)f
(Deepening)135 2492 y Fv(In)18 b(many)g(application)f(domains)g(of)h
(minimax)g(search)g(algorithms,)h(the)f(search)g(space)g(is)g(a)135
2548 y(graph,)f(whereas)f(minimax-based)f(algorithms)g(are)h(suited)f
(for)h Fp(tr)n(ee)g Fv(search.)31 b(T)n(ransposition)p
135 2589 624 2 v 188 2617 a Fr(3)202 2632 y Fq(This)16
b(includes)e(the)i(direct)g(children)g(of)g(nodes)e(in)j(the)e(max)h
(solution)f(tree.)35 b(These)14 b(can)h(be)g(skipped)g(by)135
2678 y(optimizations)9 b(in)g(the)g(Alpha-Beta)g(code,)f(in)h(the)g
(spirit)h(of)g(what)f(Reinefeld)g(has)f(done)g(for)i(Scout)e([40,)h
(41].)892 2803 y Fv(12)p eop
%%Page: 13 13
13 12 bop 135 81 a Fv(tables)11 b(\(TT\))g(are)h(used)f(to)g(enhance)h
(the)f(ef)o(\256ciency)h(of)f(tree-search)h(algorithms)f(by)g
(preventing)135 138 y(the)h(re-expansion)f(of)h(children)g(with)f
(multiple)g(parents)h([23)o(,)h(47].)20 b(A)12 b(transposition)d(table)
j(is)g(a)135 194 y(hash)e(table)g(in)f(which)h(searched)g(nodes)g
(\(barring)f(collisions,)g(the)h(search)g(tree\))h(are)g(stored.)k(The)
135 251 y(tree-search)10 b(algorithm)e(is)h(modi\256ed)g(to)g(look)f
(in)h(this)f(table)h(before)h(it)f(searches)g(a)h(node)f(and,)g(if)h
(it)135 307 y(\256nds)f(the)h(node,)g(uses)f(the)h(value)f(instead)g
(of)h(searching.)15 b(In)10 b(application)e(domains)h(where)h(there)135
363 y(are)k(many)g(paths)f(leading)g(to)g(a)h(node,)g(this)e(scheme)j
(leads)e(to)g(a)h(substantial)d(reduction)i(of)g(the)135
420 y(search)g(space.)22 b(\(Although)11 b(technically)h(incorrect,)h
(we)h(will)d(stick)h(to)h(the)g(usual)f(terminology)135
476 y(and)f(keep)g(using)f(terms)h(like)g(minimax)g Fp(tr)n(ee)g
Fv(search.\))206 533 y(A)i(potential)e(drawback)i(of)g(most)g
(transposition)d(table)j(implementations)e(is)i(that)f(they)h(do)135
589 y(not)f(handle)g(hash-key)g(collisions)e(well.)21
b(In)12 b([35,)h(39])g(it)f(is)g(shown)g(that)g(this)f(is)h(not)g(a)h
(problem)135 646 y(in)e(practice.)206 702 y(Most)h(game-playing)h
(programs)g(use)g(iterative)f(deepening)h([23)o(,)h(47)o(,)g(50].)23
b(It)13 b(is)g(based)g(on)135 759 y(the)h(assumption)e(that)i(a)g
(shallow)f(search)h(is)g(a)g(good)f(approximation)g(of)h(a)g(deeper)h
(search.)25 b(It)135 815 y(starts)12 b(of)o(f)i(by)f(doing)f(a)i(depth)
e(one)h(search,)i(which)d(terminates)h(almost)g(immediately)m(.)22
b(It)14 b(then)135 872 y(increases)f(the)f(search)h(depth)f(step)h(by)f
(step,)h(each)g(time)g(restarting)f(the)h(search)g(over)g(and)f(over)
135 928 y(again.)24 b(Due)14 b(to)f(the)g(exponential)g(growth)f(of)i
(the)g(tree)g(the)f(former)i(iterations)d(usually)g(take)i(a)135
984 y(negligible)5 b(amount)i(of)h(time)f(compared)h(to)f(the)g(last)g
(iteration.)14 b(Among)7 b(the)g(bene\256ts)h(of)f(iterative)135
1041 y(deepening)12 b(\(ID\))h(in)f(game-playing)g(programs)g(are)i
(better)e(move)h(ordering)f(\(explained)f(in)h(the)135
1097 y(next)e(paragraph\),)i(and)e(advantages)g(for)h(tournament)f
(time)h(control)f(information.)15 b(\(In)c(the)f(area)135
1154 y(of)k(one)g(player)h(games)f(it)g(is)g(mainly)g(used)f(as)i(a)f
(way)h(of)f(reducing)g(the)g(space)g(complexity)f(of)135
1210 y(best-\256rst)d(searches)i([19)o(].\))206 1267
y(T)n(ransposition)17 b(tables)i(are)i(often)e(used)h(in)f(conjunction)
f(with)h(iterative)g(deepening)g(to)135 1323 y(achieve)g(a)g(partial)e
(move)i(ordering.)38 b(The)19 b(search)f(value)h(and)f(the)g(branch)h
(leading)e(to)h(the)135 1380 y(highest)9 b(score)i(\(best)f(move\))h
(are)g(saved)g(for)f(each)h(node.)16 b(When)11 b(iterative)e(deepening)
h(searches)135 1436 y(one)17 b(level)g(deeper)g(and)g(revisits)f
(nodes,)i(the)f(move)h(suggested)e(by)g(the)h(transposition)e(table)135
1493 y(\(if)j(available\))f(is)g(searched)h(\256rst.)36
b(Since)18 b(we)g(assumed)f(that)g(a)i(shallow)d(search)i(is)f(a)h
(good)135 1549 y(approximation)10 b(of)j(a)f(deeper)g(search,)h(this)e
(best)h(move)g(for)h(depth)e Fp(d)i Fv(will)e(often)h(turn)f(out)g(to)h
(be)135 1605 y(the)h(best)f(move)h(for)g(depth)f Fp(d)g
Fv(+)f(1)i(too.)21 b(Good)12 b(move)h(ordering)f(increases)h(the)g
(pruning)e(power)135 1662 y(of)g(algorithms)f(like)h(Alpha-Beta)f(and)h
(SSS*.)206 1718 y(T)n(ransposition)17 b(tables)i(in)g(conjunction)e
(with)i(ID)h(are)g(typically)e(used)h(to)h(enhance)f(the)135
1775 y(performance)12 b(of)f(algorithms)f(in)h(two)f(ways:)192
1869 y(1.)23 b(improve)10 b(the)h(quality)f(of)h(the)g(move)h(ordering)
e(and)192 1962 y(2.)23 b(detect)16 b(when)g(dif)o(ferent)g(paths)g
(through)f(the)h(search)g(space)h(transpose)e(into)g(the)i(same)249
2019 y(state,)11 b(to)f(prevent)h(the)g(re-expansion)f(of)h(that)g
(node.)135 2113 y(In)i(the)g(case)h(of)g(an)f(algorithm)f(in)h(which)g
(each)g(ID)h(iteration)e(performs)i(multiple)e(passes)g(over)135
2169 y(the)f(search)g(tree,)h(like)f(MT)l(-SSS*)h(and)f(MT)l(-DUAL*,)g
(there)g(is)g(an)g(additional)e(use)i(for)g(the)g(TT)n(:)192
2263 y(3.)23 b(prevent)11 b(the)g(re-search)h(of)g(a)g(node)f(that)f
(has)i(been)f(searched)h(in)f(a)h(previous)e(pass,)h(in)g(the)249
2319 y Fp(curr)n(ent)g Fv(ID)g(iteration.)135 2442 y
Fp(3.2)45 b(Experiment)10 b(Design)135 2505 y Fv(In)15
b(our)g(reformulation,)g(MT)l(-SSS*)h(uses)e(a)h(standard)f
(transposition)e(table)j(to)f(store)g(previous)135 2561
y(search)d(results.)16 b(If)11 b(that)g(table)g(is)f(too)h(small,)g
(previous)f(results)g(will)g(be)h(overwritten,)f(requiring)135
2618 y(occasional)e(re-searches.)16 b(A)9 b(search)g(using)f(a)h(small)
g(table)f(will)g(still)f(yield)h(the)h(correct)g(minimax)135
2674 y(value,)15 b(although)d(the)i(number)g(of)h(leaf)f(expansions)e
(may)j(be)f(high.)25 b(T)m(o)13 b(test)h(the)g(behavior)f(of)892
2803 y(13)p eop
%%Page: 14 14
14 13 bop 135 81 a Fv(our)13 b(algorithm,)g(we)g(experimented)f(with)g
(dif)o(ferent)h(transposition)d(table)j(sizes)f(for)h(MT)l(-SSS*)135
138 y(and)e(MT)l(-DUAL*.)206 194 y(The)e(questions)f(we)i(want)f(to)g
(see)h(answered)f(are:)16 b(\252Does)10 b(SSS*)g(\256t)g(in)f(memory)h
(in)f(practical)135 251 y(situations\272)16 b(and)i(\252How)g(much)h
(memory)g(is)e(needed)i(to)e(out-perform)i(Alpha-Beta?\272.)38
b(W)l(e)135 307 y(used)14 b(iterative)g(deepening)f(versions)g(of)i(MT)
l(-SSS*)g(and)f(Alpha-Beta,)h(since)g(these)f(are)h(used)135
363 y(in)h(practical)g(applications)e(too.)31 b(The)16
b(experiments)f(were)i(conducted)e(using)g(game-playing)135
420 y(programs)c(of)f(tournament)g(quality)m(.)15 b(For)d(generality)m
(,)e(our)g(data)h(has)g(been)f(gathered)h(from)g(three)135
476 y(programs:)22 b(Chinook)12 b(\(checkers\))j([49)o(],)h(Keyano)e
(\(Othello\))f([5)o(])i(and)f(Phoenix)f(\(chess\))h([46)o(].)135
533 y(W)n(ith)c(these)g(programs)h(we)f(cover)h(the)g(range)f(from)i
(low)e(to)g(high)f(branching)h(factors.)16 b(All)10 b(three)135
589 y(programs)f(are)h(well)f(known)f(in)h(their)g(respective)g
(domain.)15 b(The)10 b(only)e(changes)h(we)h(made)g(to)e(the)135
646 y(programs)13 b(was)g(to)g(disable)f(search)h(extensions)f(and)h
(forward)g(pruning,)f(to)h(ensure)g(consistent)135 702
y(minimax)d(values)g(for)h(the)f(dif)o(ferent)g(algorithms.)15
b(For)c(our)f(experiments)g(we)g(used)g(the)h(original)135
759 y(program)k(author)r(')m(s)g(transposition)d(table)j(data)g
(structures)f(and)h(code,)i(without)c(modi\256cation.)135
815 y(At)f(an)g(interior)g(node,)g(the)g(move)h(suggested)d(by)i(the)g
(transposition)e(table)h(is)h(always)g(searched)135 872
y(\256rst)e(\(if)h(known\),)f(and)g(the)g(remaining)g(moves)h(are)g
(ordered)f(before)h(being)f(searched.)16 b(Chinook)135
928 y(and)d(Phoenix)f(use)g(dynamic)h(ordering)f(based)h(on)f(the)h
(history)e(heuristic)h([47],)i(while)e(Keyano)135 984
y(uses)f(static)f(move)h(ordering.)206 1041 y(The)f(Alpha-Beta)h(code)g
(given)f(in)g(\256gure)h(2)g(dif)o(fers)f(from)i(the)e(one)h(used)f(in)
h(practice)f(in)h(that)135 1097 y(the)j(latter)g(usually)g(includes)f
(two)h(details,)g(both)g(of)h(which)f(are)h(common)g(practice)f(in)g
(game-)135 1154 y(playing)d(programs.)20 b(The)12 b(\256rst)h(is)f(a)g
(search)h(depth)f(parameter)m(.)22 b(This)11 b(parameter)i(is)f
(initialized)135 1210 y(to)h(the)g(depth)g(of)h(the)f(search)h(tree.)24
b(As)13 b(Alpha-Beta)h(descends)f(the)g(search)h(tree,)h(the)e(depth)g
(is)135 1267 y(decremented.)k(Leaf)11 b(nodes)g(are)h(at)f(depth)f
(zero.)17 b(The)11 b(second)f(is)h(the)g(saving)f(of)h(the)g(best)f
(move)135 1323 y(at)16 b(each)g(node.)29 b(When)16 b(a)g(node)f(is)g
(revisited,)h(the)f(best)g(move)h(from)g(the)f(previous)g(search)h(is)
135 1380 y(always)11 b(considered)f(\256rst.)206 1436
y(Conventional)h(test)i(sets)g(in)g(the)g(literature)g(proved)g(to)g
(be)g(inadequate)g(to)g(model)g(real-life)135 1493 y(conditions.)18
b(Positions)10 b(in)i(test)f(sets)h(are)h(usually)e(selected)h(to)g
(test)f(a)i(particular)f(characteristic)135 1549 y(or)d(property)g(of)g
(the)g(game)h(\(such)f(as)h(tactical)f(combinations)e(in)i(chess\))g
(and)g(are)h(not)f(necessarily)135 1605 y(indicative)18
b(of)h(typical)g(game)h(conditions.)39 b(For)20 b(our)f(experiments,)i
(each)f(data)f(point)f(was)135 1662 y(averaged)10 b(over)g(20)g(test)g
(positions)d(that)j(corresponded)f(to)g(move)i(sequences)e(from)i
(tournament)135 1718 y(games.)17 b(By)11 b(selecting)f(move)h
(sequences)g(rather)g(than)f(isolated)g(positions,)f(we)i(are)h
(attempting)135 1775 y(to)18 b(create)h(a)f(test)g(set)g(that)f(is)h
(representative)g(of)g(real)h(game)f(search)h(properties)e(\(including)
135 1831 y(positions)7 b(with)j(obvious)e(moves,)i(hard)g(moves,)h
(positional)d(moves,)i(tactical)g(moves,)g(dif)o(ferent)135
1888 y(game)16 b(phases,)g(etc.\).)30 b(A)15 b(number)g(of)h(runs)f
(were)g(performed)h(on)f(a)h(lar)o(ger)f(test)g(set)g(to)g(check)135
1944 y(that)g(the)g(test)f(data)i(did)e(not)h(cause)h(anomalies)e
(\(the)i(data)f(set)g(size)g(is)g(consistent)e(with)i([46)o(]\).)135
2001 y(All)c(three)h(programs)g(ran)g(to)g(a)g(depth)f(so)h(that)f(all)
h(searched)g(roughly)e(for)i(the)g(same)h(amount)e(of)135
2057 y(time.)16 b(The)11 b(search)g(depths)e(reached)i(by)g(the)f
(programs)g(vary)h(greatly)f(because)h(of)f(the)h(dif)o(fering)135
2114 y(branching)f(factors.)16 b(In)c(checkers,)f(the)g(average)g
(branching)f(factor)i(is)e(approximately)g(3)h(\(there)135
2170 y(are)e(typically)e(1.2)i(moves)f(in)g(a)h(capture)g(position)d
(while)i(roughly)f(8)i(in)f(a)h(non-capture)f(position\),)135
2226 y(in)g(Othello)f(10)i(and)f(in)g(chess)g(36.)16
b(Because)9 b(of)g(the)f(low)g(branching)f(factor)i(Chinook)f(was)g
(able)h(to)135 2283 y(search)i(to)e(depth)h(17,)g(iterating)f(two)h
(ply)g(at)g(a)h(time.)16 b(Keyano)10 b(searched)g(to)g(10)g(ply)g(and)g
(Phoenix)135 2339 y(to)h(8,)g(both)f(one)h(ply)g(at)g(a)h(time.)135
2462 y Fp(3.3)45 b(Results)135 2525 y Fv(Figures)15 b(9)g(and)f(10)h
(show)f(the)h(number)g(of)g(leaf)h(nodes)e(expanded)g(by)h(ID)g(MT)l
(-SSS*)h(and)f(ID)135 2581 y(MT)l(-DUAL*)8 b(relative)g(to)h(ID)g
(Alpha-Beta)f(as)h(a)g(function)e(of)i(transposition)d(table)i(size)h
(\(number)135 2637 y(of)i(entries)f(in)h(powers)f(of)h(2\).)17
b(The)11 b(graphs)f(show)g(that)g(for)i(small)e(transposition)e
(tables,)j(Alpha-)892 2803 y(14)p eop
%%Page: 15 15
15 14 bop 378 891 a @beginspecial 50 @llx 50 @lly 410
@urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.sss.tt.c.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 730 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.1) Rshow
1200 1258 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 1838 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.1 : 1) Rshow
1200 2418 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.2 : 1) Rshow
1200 2998 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.3 : 1) Rshow
1200 3579 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.4 : 1) Rshow
1200 4159 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.5 : 1) Rshow
1200 4739 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.6 : 1) Rshow
1200 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(12) Cshow
2339 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(14) Cshow
3479 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(16) Cshow
4618 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(18) Cshow
5758 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(20) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(22) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Leaves Relative to ID Alpha-Beta) Cshow
grestore
4048 101 M
(lg of Entries in Transposition Table) Cshow
4048 4939 M
(Checkers - Sensitivity of ID MT-SSS* to Storage) Cshow
LT0
6234 4476 M
(ID Alpha-Beta) Rshow
6354 4476 M
360 0 V
1200 1258 M
570 0 V
569 0 V
570 0 V
570 0 V
570 0 V
569 0 V
570 0 V
570 0 V
569 0 V
570 0 V
LT1
6234 4276 M
(ID MT-SSS* depth 15) Rshow
6354 4276 M
360 0 V
2582 4739 M
2909 2476 L
570 -986 V
570 -348 V
569 -116 V
570 116 V
570 0 V
569 0 V
6474 4276 D
2909 2476 D
3479 1490 D
4049 1142 D
4618 1026 D
5188 1142 D
5758 1142 D
6327 1142 D
LT2
6234 4076 M
(ID MT-SSS* depth 13) Rshow
6354 4076 M
360 0 V
1770 3927 M
2339 1896 L
570 -638 V
570 -58 V
570 -58 V
569 0 V
570 58 V
570 0 V
569 0 V
6474 4076 A
1770 3927 A
2339 1896 A
2909 1258 A
3479 1200 A
4049 1142 A
4618 1142 A
5188 1200 A
5758 1200 A
6327 1200 A
LT3
6234 3876 M
(ID MT-SSS* depth 11) Rshow
6354 3876 M
360 0 V
1770 1780 M
569 -232 V
570 -174 V
570 0 V
570 0 V
569 0 V
570 0 V
570 0 V
569 0 V
6474 3876 B
1770 1780 B
2339 1548 B
2909 1374 B
3479 1374 B
4049 1374 B
4618 1374 B
5188 1374 B
5758 1374 B
6327 1374 B
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 784 x @beginspecial 50 @llx 50 @lly 410
@urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.sss.tt.k.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 730 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.1) Rshow
1200 1258 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 1838 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.1 : 1) Rshow
1200 2418 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.2 : 1) Rshow
1200 2998 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.3 : 1) Rshow
1200 3579 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.4 : 1) Rshow
1200 4159 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.5 : 1) Rshow
1200 4739 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.6 : 1) Rshow
1580 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(8) Cshow
2339 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(10) Cshow
3099 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(12) Cshow
3859 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(14) Cshow
4618 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(16) Cshow
5378 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(18) Cshow
6137 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(20) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(22) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Leaves Relative to ID Alpha-Beta) Cshow
grestore
4048 101 M
(lg of Entries in Transposition Table) Cshow
4048 4939 M
(Othello - Sensitivity of ID MT-SSS* to Storage) Cshow
LT0
6234 4476 M
(ID Alpha-Beta) Rshow
6354 4476 M
360 0 V
1200 1258 M
380 0 V
380 0 V
379 0 V
380 0 V
380 0 V
380 0 V
380 0 V
379 0 V
380 0 V
380 0 V
380 0 V
380 0 V
379 0 V
380 0 V
380 0 V
LT1
6234 4276 M
(ID MT-SSS* depth 9) Rshow
6354 4276 M
360 0 V
3067 4739 M
32 -232 V
3479 2824 L
3859 1664 L
379 -638 V
4618 851 L
380 0 V
380 117 V
380 0 V
6137 851 L
380 0 V
6474 4276 D
3099 4507 D
3479 2824 D
3859 1664 D
4238 1026 D
4618 851 D
4998 851 D
5378 968 D
5758 968 D
6137 851 D
6517 851 D
LT2
6234 4076 M
(ID MT-SSS* depth 8) Rshow
6354 4076 M
360 0 V
2339 4739 M
2719 2940 L
3099 1780 L
380 -464 V
3859 968 L
4238 793 L
380 0 V
380 0 V
380 0 V
380 0 V
379 0 V
380 0 V
6474 4076 A
2339 4739 A
2719 2940 A
3099 1780 A
3479 1316 A
3859 968 A
4238 793 A
4618 793 A
4998 793 A
5378 793 A
5758 793 A
6137 793 A
6517 793 A
LT3
6234 3876 M
(ID MT-SSS* depth 7) Rshow
6354 3876 M
360 0 V
1990 4739 M
2339 2708 L
2719 1548 L
3099 968 L
3479 851 L
3859 735 L
379 58 V
380 58 V
380 0 V
380 0 V
380 0 V
379 0 V
380 0 V
6474 3876 B
2339 2708 B
2719 1548 B
3099 968 B
3479 851 B
3859 735 B
4238 793 B
4618 851 B
4998 851 B
5378 851 B
5758 851 B
6137 851 B
6517 851 B
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 384 2459 a @beginspecial 50 @llx 50 @lly
410 @urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.sss.tt.p.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 730 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.1) Rshow
1200 1258 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 1838 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.1 : 1) Rshow
1200 2418 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.2 : 1) Rshow
1200 2998 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.3 : 1) Rshow
1200 3579 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.4 : 1) Rshow
1200 4159 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.5 : 1) Rshow
1200 4739 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.6 : 1) Rshow
1770 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(14) Cshow
2909 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(16) Cshow
4049 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(18) Cshow
5188 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(20) Cshow
6327 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(22) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Leaves Relative to ID Alpha-Beta) Cshow
grestore
4048 101 M
(lg of Entries in Transposition Table) Cshow
4048 4939 M
(Chess - Sensitivity of ID MT-SSS* to Storage) Cshow
LT0
6234 4476 M
(ID Alpha-Beta) Rshow
6354 4476 M
360 0 V
1200 1258 M
570 0 V
569 0 V
570 0 V
570 0 V
570 0 V
569 0 V
570 0 V
570 0 V
569 0 V
570 0 V
LT1
6234 4276 M
(ID MT-SSS* depth 7) Rshow
6354 4276 M
360 0 V
2190 4739 M
2339 3462 L
2909 1432 L
3479 909 L
570 -58 V
569 0 V
570 58 V
570 0 V
569 0 V
6474 4276 D
2339 3462 D
2909 1432 D
3479 909 D
4049 851 D
4618 851 D
5188 909 D
5758 909 D
6327 909 D
LT2
6234 4076 M
(ID MT-SSS* depth 6) Rshow
6354 4076 M
360 0 V
2031 4739 M
2339 3230 L
2909 1664 L
570 -638 V
4049 793 L
4618 677 L
570 -58 V
570 0 V
569 -58 V
6474 4076 A
2339 3230 A
2909 1664 A
3479 1026 A
4049 793 A
4618 677 A
5188 619 A
5758 619 A
6327 561 A
LT3
6234 3876 M
(ID MT-SSS* depth 5) Rshow
6354 3876 M
360 0 V
1770 968 M
569 58 V
570 0 V
570 0 V
570 58 V
569 0 V
570 0 V
570 0 V
569 0 V
6474 3876 B
1770 968 B
2339 1026 B
2909 1026 B
3479 1026 B
4049 1084 B
4618 1084 B
5188 1084 B
5758 1084 B
6327 1084 B
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 542 2606 a Fv(Figure)11 b(9:)16 b(Leaf)c(Node)e(Count)h
(ID)g(MT)l(-SSS*)892 2803 y(15)p eop
%%Page: 16 16
16 15 bop 378 891 a @beginspecial 50 @llx 50 @lly 410
@urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.sssd.tt.c.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 1189 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.1) Rshow
1200 2015 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 2923 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.1 : 1) Rshow
1200 3831 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.2 : 1) Rshow
1200 4739 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.3 : 1) Rshow
1200 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(12) Cshow
2339 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(14) Cshow
3479 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(16) Cshow
4618 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(18) Cshow
5758 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(20) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(22) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Leaves Relative to ID Alpha-Beta) Cshow
grestore
4048 101 M
(lg of Entries in Transposition Table) Cshow
4048 4939 M
(Checkers - Sensitivity of ID MT-DUAL* to Storage) Cshow
LT0
6234 4476 M
(ID Alpha-Beta) Rshow
6354 4476 M
360 0 V
1200 2015 M
570 0 V
569 0 V
570 0 V
570 0 V
570 0 V
569 0 V
570 0 V
570 0 V
569 0 V
570 0 V
LT1
6234 4276 M
(ID MT-DUAL* depth 15) Rshow
6354 4276 M
360 0 V
2274 4739 M
65 -545 V
2909 1379 L
3479 834 L
570 0 V
569 182 V
570 181 V
570 0 V
569 0 V
6474 4276 D
2339 4194 D
2909 1379 D
3479 834 D
4049 834 D
4618 1016 D
5188 1197 D
5758 1197 D
6327 1197 D
LT2
6234 4076 M
(ID MT-DUAL* depth 13) Rshow
6354 4076 M
360 0 V
1770 1470 M
2339 653 L
570 -91 V
570 91 V
570 90 V
569 91 V
570 0 V
570 0 V
569 0 V
6474 4076 A
1770 1470 A
2339 653 A
2909 562 A
3479 653 A
4049 743 A
4618 834 A
5188 834 A
5758 834 A
6327 834 A
LT3
6234 3876 M
(ID MT-DUAL* depth 11) Rshow
6354 3876 M
360 0 V
1770 743 M
569 182 V
570 0 V
570 0 V
570 91 V
569 0 V
570 0 V
570 0 V
569 0 V
6474 3876 B
1770 743 B
2339 925 B
2909 925 B
3479 925 B
4049 1016 B
4618 1016 B
5188 1016 B
5758 1016 B
6327 1016 B
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 784 x @beginspecial 50 @llx 50 @lly 410
@urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.sssd.tt.k.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 1189 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.1) Rshow
1200 2015 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 2923 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.1 : 1) Rshow
1200 3831 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.2 : 1) Rshow
1200 4739 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.3 : 1) Rshow
1580 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(8) Cshow
2339 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(10) Cshow
3099 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(12) Cshow
3859 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(14) Cshow
4618 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(16) Cshow
5378 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(18) Cshow
6137 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(20) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(22) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Leaves Relative to ID Alpha-Beta) Cshow
grestore
4048 101 M
(lg of Entries in Transposition Table) Cshow
4048 4939 M
(Othello - Sensitivity of ID MT-DUAL* to Storage) Cshow
LT0
6234 4476 M
(ID Alpha-Beta) Rshow
6354 4476 M
360 0 V
1200 2015 M
380 0 V
380 0 V
379 0 V
380 0 V
380 0 V
380 0 V
380 0 V
379 0 V
380 0 V
380 0 V
380 0 V
380 0 V
379 0 V
380 0 V
380 0 V
LT1
6234 4276 M
(ID MT-DUAL* depth 9) Rshow
6354 4276 M
360 0 V
2312 4739 M
27 -91 V
2719 3286 L
3099 2106 L
380 -727 V
380 -272 V
4238 925 L
380 363 V
380 0 V
380 91 V
380 0 V
379 91 V
380 0 V
6474 4276 D
2339 4648 D
2719 3286 D
3099 2106 D
3479 1379 D
3859 1107 D
4238 925 D
4618 1288 D
4998 1288 D
5378 1379 D
5758 1379 D
6137 1470 D
6517 1470 D
LT2
6234 4076 M
(ID MT-DUAL* depth 8) Rshow
6354 4076 M
360 0 V
2203 4739 M
136 -817 V
2719 2469 L
380 -999 V
3479 925 L
380 0 V
379 0 V
380 363 V
380 91 V
380 -91 V
380 0 V
379 0 V
380 0 V
6474 4076 A
2339 3922 A
2719 2469 A
3099 1470 A
3479 925 A
3859 925 A
4238 925 A
4618 1288 A
4998 1379 A
5378 1288 A
5758 1288 A
6137 1288 A
6517 1288 A
LT3
6234 3876 M
(ID MT-DUAL* depth 7) Rshow
6354 3876 M
360 0 V
1580 2832 M
380 -908 V
379 -727 V
380 -181 V
3099 834 L
380 -91 V
380 182 V
379 0 V
380 272 V
380 0 V
380 0 V
380 0 V
379 0 V
380 0 V
6474 3876 B
1580 2832 B
1960 1924 B
2339 1197 B
2719 1016 B
3099 834 B
3479 743 B
3859 925 B
4238 925 B
4618 1197 B
4998 1197 B
5378 1197 B
5758 1197 B
6137 1197 B
6517 1197 B
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 384 2459 a @beginspecial 50 @llx 50 @lly
410 @urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.sssd.tt.p.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 1189 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.1) Rshow
1200 2015 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 2923 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.1 : 1) Rshow
1200 3831 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.2 : 1) Rshow
1200 4739 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.3 : 1) Rshow
1675 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(12) Cshow
2624 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(14) Cshow
3574 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(16) Cshow
4523 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(18) Cshow
5473 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(20) Cshow
6422 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(22) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Leaves Relative to ID Alpha-Beta) Cshow
grestore
4048 101 M
(lg of Entries in Transposition Table) Cshow
4048 4939 M
(Chess - Sensitivity of ID MT-DUAL* to Storage) Cshow
LT0
6234 4476 M
(ID Alpha-Beta) Rshow
6354 4476 M
360 0 V
1200 2015 M
475 0 V
475 0 V
474 0 V
475 0 V
475 0 V
475 0 V
474 0 V
475 0 V
475 0 V
475 0 V
474 0 V
475 0 V
LT1
6234 4276 M
(ID MT-DUAL* depth 7) Rshow
6354 4276 M
360 0 V
1675 2106 M
475 -909 V
2624 834 L
3099 653 L
475 90 V
475 182 V
474 182 V
475 90 V
475 91 V
475 91 V
474 0 V
6474 4276 D
1675 2106 D
2150 1197 D
2624 834 D
3099 653 D
3574 743 D
4049 925 D
4523 1107 D
4998 1197 D
5473 1288 D
5948 1379 D
6422 1379 D
LT2
6234 4076 M
(ID MT-DUAL* depth 6) Rshow
6354 4076 M
360 0 V
1675 925 M
475 0 V
474 182 V
475 272 V
475 91 V
475 0 V
474 91 V
475 0 V
475 0 V
475 0 V
474 0 V
6474 4076 A
1675 925 A
2150 925 A
2624 1107 A
3099 1379 A
3574 1470 A
4049 1470 A
4523 1561 A
4998 1561 A
5473 1561 A
5948 1561 A
6422 1561 A
LT3
6234 3876 M
(ID MT-DUAL* depth 5) Rshow
6354 3876 M
360 0 V
1675 834 M
475 273 V
474 181 V
475 182 V
475 91 V
475 91 V
474 0 V
475 90 V
475 0 V
475 0 V
474 0 V
6474 3876 B
1675 834 B
2150 1107 B
2624 1288 B
3099 1470 B
3574 1561 B
4049 1652 B
4523 1652 B
4998 1742 B
5473 1742 B
5948 1742 B
6422 1742 B
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 506 2606 a Fv(Figure)11 b(10:)k(Leaf)d(Node)f(Count)f(ID)h
(MT)l(-DUAL*)892 2803 y(16)p eop
%%Page: 17 17
17 16 bop 135 81 a Fv(Beta)10 b(out-performs)e(MT)l(-SSS*,)j(and)e(for)
h(very)f(small)g(sizes)g(it)f(out-performs)h(MT)l(-DUAL*)g(too.)135
138 y(However)n(,)j(once)g(the)g(storage)f(reaches)h(a)h(critical)e
(level,)h(MT)l(-SSS*')m(s)h(performance)g(levels)e(of)o(f)135
194 y(and)k(is)g(generally)g(better)g(than)g(Alpha-Beta.)30
b(The)15 b(graphs)g(for)h(MT)l(-DUAL*)e(are)j(similar)e(to)135
251 y(those)10 b(of)i(SSS*,)g(except)f(that)f(the)h(lines)f(are)i
(shifted)e(to)h(the)g(left.)206 307 y(Simple)i(calculations)f(and)i
(the)g(empirical)f(evidence)h(leads)f(us)h(to)f(disagree)g(with)g
(authors)135 363 y(stating)7 b(that)g Fp(O)p Fv(\()p
Fp(w)419 347 y Fn(d)p Ff(d)q Fe(/)p Ft(2)p Fn(e)488 363
y Fv(\))i(is)f(too)f(much)h(memory)h(for)f(practical)g(purposes)f([17,)
h(24,)h(26)o(,)g(41)o(,)g(45)o(,)g(51)o(].)135 420 y(Further)n(,)15
b(many)f(applications)d(have)j(transpositions)d(that)i(can)h(reduce)g
(the)f(search)h(ef)o(fort)g(by)g(a)135 476 y(lar)o(ge)h(factor)g(\(9)g
(for)g(checkers)g(at)f(depth)g(15,)i(4)f(for)g(chess)f(at)h(depth)f(9,)
i(and)e(2)h(for)g(Othello)e(at)135 533 y(depth)c(9)h([35]\).)16
b(For)11 b(present-day)e(search)h(depths)f(in)h(applications)e(like)h
(checkers,)i(Othello)d(and)135 589 y(chess,)13 b(using)f(present-day)g
(memory)h(sizes,)h(we)f(see)g(that)f(MT)l(-SSS*')m(s)i(search)f(trees)g
(\256t)g(in)f(the)135 646 y(available)f(memory)m(.)21
b(For)12 b(most)g(real-world)g(game-playing)f(programs,)i(a)f
(transposition)e(table)135 702 y(size)g(of)g(less)f(than)h(2)454
686 y Ft(20)495 702 y Fv(entries)f(will)g(be)h(more)g(than)g(adequate)f
(for)i(MT)l(-SSS*)f(under)g(tournament)135 759 y(conditions.)206
815 y(The)16 b(graphs)f(provide)h(a)g(clear)h(answer)f(to)g(the)g(main)
g(question:)24 b(SSS*)17 b(\256ts)f(in)g(memory)m(,)135
872 y(for)d(practical)f(search)h(depths)f(in)g(games)h(with)f(both)f
(narrow)i(and)f(wide)h(branching)e(factors.)21 b(It)135
928 y(out-performs)13 b(Alpha-Beta)h(when)f(given)g(a)h(reasonable)g
(amount)f(of)h(storage.)24 b(However)n(,)14 b(the)135
984 y(original)h(SSS*)i(formulation)f(does)f(not)h(work)g(when)g(there)
h(is)f(insuf)o(\256cient)f(storage)h(to)g(hold)135 1041
y(the)d(OPEN)f(list.)20 b(The)13 b(MT)l(-SSS*)h(reformulation)e
(bene\256ts)g(from)i(the)e(\257exibility)f(provided)h(by)135
1097 y(the)i(transposition)d(tables,)k(allowing)d(the)i(program)g(to)g
(work)g(correctly)f(with)g(any)h(amount)g(of)135 1154
y(memory)m(.)j(In)12 b(other)e(words,)h(memory)h(only)e(af)o(fects)i
(ef)o(\256ciency)m(,)g(not)e(correctness.)206 1210 y(The)e(graphs)f
(support)g(the)h(theory)g(that)f(says)h(that)g(MT)l(-SSS*)h(is)f
(constantly)e(re\256ning)i(a)g(single)135 1267 y(max)h(solution)d
(tree.)16 b(As)8 b(soon)g(as)g(there)h(is)e(enough)h(memory)h(to)f
(store)g(most)g(of)g(the)h(max)f(solution)135 1323 y(tree,)j(MT)l
(-SSS*)g(runs)e(smoothly)g(in)g(that)h(it)f(does)h(not)f(have)h(to)g
(re-expand)g(parts)g(of)g(the)f(tree)i(that)135 1380
y(it)d(has)h(searched)h(in)e(previous)g(passes.)15 b(The)9
b(graphs)f(also)h(support)e(the)i(notion)f(that)g(MT)l(-DUAL*)135
1436 y(needs)i(less)g(memory)m(,)h(since)f(it)g(manipulates)f(a)i
(\(smaller\))g(min)f(solution)e(tree)j(\()p Fp(O)p Fv(\()p
Fp(w)1484 1420 y Fn(b)p Ff(d)q Fe(/)p Ft(2)p Fn(c)1553
1436 y Fv(\))g(versus)135 1493 y Fp(O)p Fv(\()p Fp(w)213
1476 y Fn(d)p Ff(d)q Fe(/)p Ft(2)p Fn(e)282 1493 y Fv(\))h(for)f(max)h
(solution)d(trees\).)206 1549 y(W)l(e)f(can)g(conclude)e(from)j(the)e
(experiments)g(that)g(MT)l(-SSS*)h(and)f(MT)l(-DUAL*)g(are)h(practical)
135 1605 y(alternatives)j(to)g(Alpha-Beta,)i(where)f(the)g
(transposition)d(table)i(size)h(is)g(concerned.)19 b(However)n(,)135
1662 y(the)14 b(experiments)f(also)g(made)i(clear)f(that)g(there)g(are)
g(a)h(number)f(of)g(minor)f(issues)g(that)g(are)i(not)135
1718 y(yet)c(fully)f(understood.)15 b(For)c(brevity)m(,)g(these)g
(issues)f(are)i(discussed)d(elsewhere)i([35].)135 1841
y Fp(3.4)45 b(MT)m(-SSS*)11 b(is)f(a)h(Practical)f(Algorithm)135
1904 y Fv(The)d(introduction)g(cited)g(two)g(sto)o(rage-related)g
(drawbacks)g(of)g(SSS*.)14 b(The)7 b(\256rst)g(is)g(the)g(excessive)135
1960 y(memory)12 b(requirements.)k(W)l(e)c(have)f(shown)f(that)h(this)f
(is)g(solved)g(in)h(practice.)206 2016 y(The)k(second)h(drawback,)h
(the)f(inef)o(\256ciencies)f(incurred)h(in)f(maintaining)g(the)g(OPEN)h
(list,)135 2073 y(speci\256cally)f(the)g(sort)g(and)g(pur)o(ge)g
(operations,)h(was)f(addressed)g(in)g(the)g(RecSSS*)i(algorithm)135
2129 y([4,)12 b(43)o(].)18 b(Both)11 b(MT)l(-SSS*)h(and)f(RecSSS*)i
(store)e(interior)f(nodes)g(and)i(overwrite)e(old)h(entries)g(to)135
2186 y(solve)g(this.)18 b(The)12 b(dif)o(ference)h(is)f(that)f(RecSSS*)
i(uses)f(a)g(restrictive)f(data)h(structure)g(to)f(hold)g(the)135
2242 y(OPEN)e(list)f(that)h(has)g(the)g(disadvantages)f(of)h(requiring)
f(the)h(search)h(depth)f(and)g(width)f(be)h(known)135
2299 y Fp(a)h(priori)p Fv(,)e(and)i(having)e(no)h(support)f(for)i
(transpositions.)j(Programming)d(ef)o(fort)g(\(and)f(ingenuity\))135
2355 y(are)j(required)f(to)f(make)i(RecSSS*)h(usable)d(for)i
(high-performance)f(game-playing)f(programs.)206 2412
y(In)d(contrast,)g(since)g(most)g(game-playing)g(programs)g(already)g
(use)g(Alpha-Beta)g(and)g(transpo-)135 2468 y(sition)i(tables,)h(the)h
(ef)o(fort)g(to)f(implement)h(MT)l(-SSS*)g(consists)e(only)h(of)h
(adding)e(a)i(simple)f(driver)135 2525 y(routine)15 b(\(\256gure)i
(8\).)33 b(Implementing)16 b(MT)l(-SSS*)h(is)f(as)h(simple)f(\(or)g
(hard\))h(as)f(implementing)135 2581 y(Alpha-Beta.)38
b(All)17 b(the)h(familiar)h(Alpha-Beta)f(enhancements)f(\(such)h(as)h
(iterative)e(deepen-)135 2637 y(ing,)12 b(transpositions)e(and)i
(dynamic)g(move)h(ordering\))f(\256t)g(naturally)g(into)f(our)h(new)h
(framework)892 2803 y(17)p eop
%%Page: 18 18
18 17 bop 135 81 a Fv(with)9 b(no)g(practical)g(restrictions)f
(\(variable)i(branching)e(factor)n(,)j(search)f(extensions)e(and)h
(forward)135 138 y(pruning,)h(for)h(example,)h(cause)g(no)e(dif)o
(\256culties\).)206 194 y(In)j(MT)l(-SSS*,)i(interior)e(nodes)g(are)h
(accessed)g(by)f(fast)g(hash)g(table)g(lookups,)g(to)g(eliminate)135
251 y(the)i(slow)g(OPEN)g(list)f(operations.)28 b(Execution)14
b(time)i(measurements)f(\(not)g(shown\))g(con\256rm)135
307 y(that)d(in)g(general)g(the)g(run)h(time)f(of)h(MT)l(-SSS*)g(and)f
(MT)l(-DUAL*)g(are)h(proportional)e(to)h(the)g(leaf)135
363 y(count,)k(as)f(shown)f(in)h(\256gure)g(9)g(and)g(10,)h(showing)d
(that)i(they)g(are)g(a)h(few)f(percent)g(faster)h(than)135
420 y(Alpha-Beta.)21 b(However)n(,)14 b(in)e(some)h(programs)g(where)g
(interior)f(node)g(processing)f(is)i(slow)m(,)f(the)135
476 y(high)i(number)i(of)f(tree)h(traversals)f(by)g(MT)l(-SSS*)h(and)g
(MT)l(-DUAL*)e(can)i(have)f(a)h(noticeable)135 533 y(adverse)g(ef)o
(fect.)33 b(For)17 b(real)f(applications,)g(in)g(addition)e(to)i(leaf)g
(node)g(count,)h(the)f(total)g(node)135 589 y(count)10
b(should)g(also)h(be)g(checked)g(\(see)h(section)e(5\).)206
646 y(Keeping)16 b(this)g(point)g(in)h(mind,)h(we)g(conclude)e(that)h
(SSS*)h(and)f(DUAL*)f(have)i(become)135 702 y(practical,)11
b(understandable,)f(algorithms,)g(when)h(expressed)g(in)f(the)h(new)g
(formulation.)135 827 y Fw(4)45 b(Memory-enhanced)13
b(T)l(est:)k(a)11 b(Framework)135 894 y Fv(This)e(section)g(introduces)
g(a)i(generalization)e(of)h(the)g(ideas)g(behind)f(MT)l(-SSS*,)j(in)e
(the)g(form)h(of)f(a)135 950 y(new)f(framework)g(for)g(best-\256rst)g
(minimax)f(algorithms.)15 b(T)m(o)8 b(put)g(it)h(succinctly:)k(this)8
b(framework)135 1007 y(uses)h Fp(depth-\256rst)g Fv(procedures)g(to)g
(implement)h Fp(best-\256rst)e Fv(algorithms.)15 b(Memory)c(is)e(used)g
(to)h(pass)135 1063 y(on)g(previous)g(search)h(results)f(to)g(later)h
(passes,)f(allowing)f(selection)h(of)g(the)h(\252best\272)g(nodes)e
(based)135 1120 y(on)i(the)g(available)f(information)g(from)i(previous)
e(passes.)206 1176 y(W)l(e)k(can)h(construct)e(a)h(generalized)g
(driver)g(routine)f(to)g(call)h(MT)h(repeatedly)m(.)24
b(Recall)15 b(that)135 1233 y(MT\()p Fp(n)p Fs(,)8 b
Fg(g)e Fv(\))15 b(is)e(equivalent)g(to)g(Alpha-Beta\()p
Fp(n)p Fs(,)8 b Fg(g)18 b Fo(\000)12 b Fv(1)p Fs(,)c
Fg(g)e Fv(\))14 b(using)f(storage.)24 b(One)14 b(idea)g(for)g(such)g(a)
135 1289 y(driver)e(is)g(to)g(start)f(at)i(an)f(upper)g(bound)f(for)i
(the)f(minimax)g(value,)g Fs(\246)1231 1273 y Ft(+)1264
1289 y Fv(=)h(+)p Fs(\245)p Fv(.)20 b(Subsequent)11 b(calls)135
1346 y(to)g(MT)g(can)h(lower)f(this)f(bound)g(until)f(the)i(minimax)g
(value)g(is)g(reached,)h(as)f(shown)f(in)h(\256gure)g(8.)206
1402 y(Having)g(seen)i(the)g(two)f(drivers)g(for)h(MT)g(in)g(\256gure)g
(8,)g(the)g(ideas)f(can)h(be)g(encompassed)g(in)135 1459
y(a)f(generalized)g(driver)g(routine.)18 b(The)12 b(driver)g(can)g(be)g
(regarded)g(as)g(providing)e(a)j(series)f(of)g(calls)135
1515 y(to)i(MT)h(to)f(successively)e(re\256ne)k(bounds)c(on)i(the)h
(minimax)f(value.)26 b(The)14 b(driver)g(code)g(can)h(be)135
1571 y(parameterized)h(so)f(that)g(one)h(piece)f(of)h(code)f(can)h
(construct)f(a)g(variety)g(of)h(algorithms.)28 b(The)135
1628 y(three)11 b(parameters)h(needed)f(are:)207 1709
y Fs(\267)23 b Fd(n)g Fv(The)11 b(root)f(of)i(the)e(search)i(tree.)207
1798 y Fs(\267)23 b Fd(\256rst)10 b Fv(The)h Fp(\256rst)f
Fv(starting)g(bound)g(for)i(MT.)207 1887 y Fs(\267)23
b Fd(next)14 b Fv(A)f(search)h(has)g(been)g(completed.)24
b(Use)14 b(its)f(result)g(to)g(determine)h(the)g Fp(next)f
Fv(bound)249 1943 y(for)e(MT.)135 2024 y(Using)f(these)h(parameters,)h
(an)f(algorithm)f(using)g(our)h(MT)g(driver)n(,)g(MTD,)h(can)f(be)h
(expressed)e(as)135 2081 y Fp(MTD\(n,)j(\256rst,)f(next\))p
Fv(.)21 b(The)13 b(last)e(parameter)j(is)e(not)g(a)g(value)h(but)e(a)i
(piece)g(of)g(code.)20 b(The)12 b(corre-)135 2137 y(sponding)f
(pseudocode)h(can)i(be)g(found)e(in)h(\256gure)h(11.)23
b(A)13 b(number)h(of)f(interesting)f(algorithms)135 2194
y(can)f(easily)g(be)g(constructed)f(using)g(MTD,)i(of)f(which)f(we)i
(present)e(the)h(following)e(examples.)207 2275 y Fs(\267)23
b Fv(MTD\()p Fp(n)p Fs(,)7 b Fv(+)p Fs(\245,)h Fp(bound)k
Fv(:=)g Fp(g)p Fv(\))249 2331 y(This)e(is)g(just)h(MT)l(-SSS*.)17
b(For)11 b(brevity)g(we)g(call)g(this)f(driver)h(MTD\(+)p
Fs(\245)p Fv(\).)207 2420 y Fs(\267)23 b Fv(MTD\()p Fp(n)p
Fs(,)7 b Fo(\000)p Fs(\245,)h Fp(bound)13 b Fv(:=)f Fp(g)d
Fv(+)h(1\))249 2476 y(This)g(is)g(MT)l(-DUAL*,)h(which)g(we)g(refer)h
(to)f(as)g(MTD\()p Fo(\000)p Fs(\245)p Fv(\).)207 2565
y Fs(\267)23 b Fv(MTD)350 2531 y Fj(\000)369 2565 y Fp(n)p
Fs(,)11 b Fv(approximation,)f Fw(if)h Fp(g)i(<)f(bound)f
Fw(then)h Fp(bound)g Fv(:=)g Fp(g)f Fw(else)g Fp(bound)i
Fv(:=)f Fp(g)d Fv(+)h(1)1606 2531 y Fj(\001)249 2622
y Fv(Rather)j(than)f(arbitrarily)g(using)f(an)i(extreme)g(value)f(as)h
(a)g(starting)e(point,)h(any)h(informa-)249 2678 y(tion)g(on)i(where)f
(the)h(value)f(is)g(likely)g(to)g(lie)g(can)h(be)g(used)f(as)h(a)g
(better)f(approximation.)892 2803 y(18)p eop
%%Page: 19 19
19 18 bop 135 120 a Fy(function)10 b FA(MTD\()p Fl(n)p
FA(,)h(\256rst,)f(next\))g Fx(\256)h(\246)p FA(;)306
b Fy(function)10 b FA(MTD\()p Fl(n)p Fx(,)d(\246)p FA(\))k
Fx(\256)g(\246)p FA(;)200 170 y Fx(\246)219 155 y Ft(+)248
170 y FA(:=)h(+)p Fx(\245)p FA(;)e Fx(\246)386 155 y
Fn(\000)425 170 y FA(:=)h Fm(\000)p Fx(\245)p FA(;)465
b Fx(\246)1026 155 y Ft(+)1056 170 y FA(:=)11 b(+)p Fx(\245)p
FA(;)c Fx(\246)1190 155 y Fn(\000)1229 170 y FA(:=)k
Fm(\000)p Fx(\245)p FA(;)200 220 y Fl(bound)g FA(:=)g
Fl(g)h FA(:=)e(\256rst;)490 b Fy(if)10 b Fx(\246)h FA(=)h
Fm(\000)p Fx(\245)e Fy(then)h Fl(bound)g FA(:=)h Fx(\246)d
FA(+)g(1)h Fy(else)h Fl(bound)g FA(:=)h Fx(\246)p FA(;)200
270 y Fy(r)o(epeat)696 b(r)o(epeat)264 319 y Fl(g)11
b FA(:=)g(MT\()p Fl(n)p Fx(,)c Fl(bound)q FA(\);)485
b Fl(g)11 b FA(:=)f(MT\()p Fl(n)p Fx(,)d Fl(bound)q FA(\);)264
369 y Fy(if)j Fl(g)h(<)h(bound)e Fy(then)h Fx(\246)595
354 y Ft(+)624 369 y FA(:=)h Fl(g)e Fy(else)h Fx(\246)796
354 y Fn(\000)835 369 y FA(:=)h Fl(g)p FA(;)157 b Fy(if)9
b Fl(g)j(<)f(bound)f Fy(then)h Fx(\246)1402 354 y Ft(+)1432
369 y FA(:=)g Fl(g)f Fy(else)h Fx(\246)1603 354 y Fn(\000)1642
369 y FA(:=)h Fl(g)p FA(;)264 419 y(/*)e(The)h Fl(next)g
FA(operation)e(must)h(set)h Fl(bound)e FA(*/)264 469
y(next;)724 b Fy(if)9 b Fl(g)j FA(=)g Fx(\246)1194 454
y Fn(\000)1232 469 y Fy(then)e Fl(bound)i FA(:=)f Fl(g)e
FA(+)h(1)g Fy(else)h Fl(bound)g FA(:=)g Fl(g)p FA(;)200
519 y Fy(until)e Fx(\246)312 504 y Fn(\000)351 519 y
FA(=)j Fx(\246)405 504 y Ft(+)423 519 y FA(;)572 b Fy(until)9
b Fx(\246)1119 504 y Fn(\000)1159 519 y FA(=)j Fx(\246)1213
504 y Ft(+)1231 519 y FA(;)200 568 y Fy(r)o(eturn)f Fl(g)p
FA(;)650 b Fy(r)o(eturn)12 b Fl(g)p FA(;)331 716 y Fv(Figure)f(11:)k(A)
d(Framework)g(for)f(MT)g(Drivers;)g(The)g(MTD\()p Fs(\246)p
Fv(\))g(instance)249 854 y(\(This)h(assumes)g(a)i(relation)d(between)i
(start)f(value)h(and)g(search)g(ef)o(fort)g(that)f(is)h(discussed)249
911 y(in)j(section)f(5.2.3.\))32 b(Given)16 b(that)g(iterative)f
(deepening)h(is)g(used)f(in)h(many)h(application)249
967 y(domains,)d(the)f(obvious)f(approximation)g(for)i(the)f(minimax)h
(value)f(is)g(the)h(result)f(of)g(the)249 1024 y(previous)h(iteration.)
29 b(This)14 b(algorithm,)i(which)f(we)h(call)f(MTD\()p
Fs(\246)p Fv(\),)j(can)d(be)h(viewed)f(as)249 1080 y(starting)10
b(close)h(to)g Fs(\246)p Fv(,)h(and)f(then)g(doing)f(either)i(SSS*)g
(or)f(DUAL*,)g(skipping)f(a)i(lar)o(ge)f(part)249 1137
y(of)j(their)g(search)g(path.)26 b(The)14 b(right-hand)f(side)h(of)g
(Figure)g(11)g(shows)f(the)h(pseudo-code)249 1193 y(for)d(MTD\()p
Fs(\246)p Fv(\).)207 1287 y Fs(\267)23 b Fv(MTD)350 1252
y Fj(\000)369 1287 y Fp(n)p Fs(,)7 b Fo(b)p Fv(average\(+)p
Fs(\245,)h Fo(\000)p Fs(\245)p Fv(\))p Fo(c)p Fs(,)g
Fp(bound)13 b Fv(:=)f Fo(b)p Fv(average\()p Fs(\246)1153
1270 y Ft(+)1171 1287 y Fs(,)c(\246)1210 1270 y Fn(\000)1238
1287 y Fv(\))p Fo(c)1273 1252 y Fj(\001)249 1343 y Fv(Since)18
b(MT)h(can)f(be)g(used)g(to)g(search)g(from)h(above)f(\(SSS*\))h(as)f
(well)g(as)g(from)h(below)249 1400 y(\(DUAL*\),)12 b(an)g(obvious)e
(try)i(is)f(to)h(bisect)f(the)h(interval)f(and)h(start)g(in)f(the)h
(middle.)19 b(Since)249 1456 y(each)e(pass)g(produces)g(an)g(upper)g
(or)g(lower)g(bound,)h(we)g(can)f(take)g(some)h(pivot)e(value)249
1513 y(in)e(between)g(as)h(the)f(next)h(center)g(for)f(our)h(search.)27
b(This)14 b(algorithm,)h(called)f(MTD\(bi\))249 1569
y(for)i(short,)g(bisects)f(the)h(range)g(of)g(interest,)g(reducing)f
(the)h(number)g(of)g(MT)g(calls.)31 b(T)m(o)249 1626
y(reduce)12 b(big)f(swings)f(in)i(the)g(pivot)e(value,)i(some)g(kind)f
(of)h(aspiration)e(searching)i(may)g(be)249 1682 y(bene\256cial)f(in)f
(many)i(application)d(domains)i([47)o(].)249 1757 y(Coplan)j
(introduced)g(an)i(equivalent)d(algorithm)h(which)h(he)g(named)h
Fp(C*)f Fv([9].)29 b(He)16 b(does)249 1814 y(not)h(state)h(the)g(link)f
(with)g(best-\256rst)g(SSS*-like)i(behavior)n(,)g(but)f(does)g(prove)f
(that)h(C*)249 1870 y(dominates)11 b(Alpha-Beta)h(in)g(the)h(number)f
(of)h(leaf)g(nodes)e(evaluated,)i(provided)e(there)i(is)249
1926 y(enough)d(storage.)16 b(\(This)10 b(idea)h(has)g(also)g(been)g
(discussed)f(in)g([1,)i(52)o(].\))207 2020 y Fs(\267)23
b Fv(MTD)350 1985 y Fj(\000)369 2020 y Fp(n)p Fs(,)7
b Fv(+)p Fs(\245,)h Fp(bound)k Fv(:=)g(max\()p Fs(\246)775
2004 y Fn(\000)775 2031 y Ff(n)813 2020 y Fv(+)e(1)p
Fs(,)d Fp(g)j Fo(\000)h Fp(stepsize)n Fv(\))1124 1985
y Fj(\001)249 2077 y Fv(Instead)j(of)h(making)g(tiny)e(jumps)i(from)g
(one)g(bound)f(to)g(the)h(next,)h(as)f(in)f(all)h(the)f(above)249
2133 y(algorithms)h(except)i(MTD\(bi\),)h(we)g(could)e(make)h(bigger)f
(jumps.)34 b(By)17 b(adjusting)d(the)249 2189 y(value)9
b(of)h Fp(stepsize)e Fv(to)i(some)g(suitably)e(lar)o(ge)i(value,)g(we)g
(can)g(reduce)g(the)g(number)g(of)g(calls)249 2246 y(to)g(MT.)i(This)e
(algorithm)h(is)f(called)h(MTD\(step\).)135 2339 y(Other)h(MTD)h
(variations)e(are)j(possible,)d(such)h(as)h(searching)f(for)h(the)f
(best)g(move)h(\(not)f(the)h(best)135 2396 y(value\).)28
b(This)13 b(idea,)k(put)d(forward)h(by)f(Berliner)h(in)g(his)f(B*)h
(algorithm)f([2],)i(would)e(require)h(a)135 2452 y(dif)o(ferent)f
(termination)f(condition)f(for)j(the)f(loop,)g(but)g(otherwise)f
(\256ts)h(straightforwardly)e(into)135 2509 y(the)f(framework.)17
b(In)11 b([37])g(we)h(report)f(on)f(tests)h(with)f(this)g(variant.)206
2565 y(Note)k(that)g(while)g(all)g(the)g(above)g(algorithms)g(use)g
(storage)g(for)h(bounds,)f(not)g(all)g(of)h(them)135
2622 y(need)g(to)g(save)g(both)g Fs(\246)501 2605 y Ft(+)534
2622 y Fv(and)g Fs(\246)636 2605 y Fn(\000)680 2622 y
Fv(values.)28 b(MTD\(+)p Fs(\245)p Fv(\),)16 b(MTD\()p
Fo(\000)p Fs(\245)p Fv(\))g(and)f(MTD\()p Fs(\246)p Fv(\))g(re\256ne)h
(one)135 2678 y(solution)c(tree.)27 b(MTD\(bi\))15 b(and)f(MTD\(step\))
g(usually)f(re\256ne)j(a)f(union)e(of)i(two)f(solution)e(trees,)892
2803 y(19)p eop
%%Page: 20 20
20 19 bop 145 723 a 1.7 setlinewidth 221 716 a FA(Dual*)189
648 y Fm(\000)p Fx(\245)240 627 y Fh(\001)240 626 y(\001)-21
b(\025)248 577 y Fx(\246)267 561 y Fn(\000)282 542 y
Fh(\001)283 541 y(\001)g(\025)291 491 y Fx(\246)310 476
y Fn(\000)325 457 y Fh(\001)325 456 y(\001)g(\025)347
403 y Fx(\246)503 716 y FA(SSS*)459 128 y(+)p Fx(\245)495
169 y Fh(B)499 181 y(B)-14 b(N)498 214 y Fx(\246)517
199 y Ft(+)527 254 y Fh(B)531 266 y(B)g(N)540 309 y Fx(\246)559
294 y Ft(+)569 350 y Fh(B)573 362 y(B)g(N)592 403 y Fx(\246)688
711 y FA(MTD\(step\))693 128 y(+)p Fx(\245)774 309 y(\246)793
294 y Ft(+)729 169 y Fh(B)743 211 y(B)756 252 y(B)761
266 y(B)g(N)822 491 y Fx(\246)841 476 y Fn(\000)856 457
y Fh(\001)857 456 y(\001)-21 b(\025)879 403 y Fx(\246)793
350 y Fh(B)806 392 y(B)820 433 y(B)825 447 y(B)-14 b(N)991
128 y FA(+)p Fx(\245)986 659 y Fm(\000)p Fx(\245)1046
662 y(\246)1065 646 y Fn(\000)1050 129 y Fx(\246)1069
114 y Ft(+)1069 383 y Fi(t)p Fh(\021)1102 375 y(\021)-42
b(3)1141 364 y Fx(\246)1160 349 y Fn(\000)1146 129 y
Fx(\246)1165 114 y Ft(+)1165 234 y Fi(t)1186 248 y Fh(P)1197
252 y(P)g(q)1242 267 y Fx(\246)1261 252 y Ft(+)1237 364
y Fx(\246)1256 349 y Fn(\000)1260 298 y Fi(t)p 1281 299
54 2 v 12 w Fh(-)1357 286 y Fx(\246)1057 712 y FA(MTD\(bi\))281
b(MTD\(f\))1458 128 y(+)p Fx(\245)1454 659 y Fm(\000)p
Fx(\245)1513 662 y(\246)1532 646 y Fn(\000)1518 129 y
Fx(\246)1537 114 y Ft(+)1537 383 y Fi(t)1483 429 y FA(h)1558
372 y Fh(\012)1566 361 y(\012)-28 b(\036)1588 321 y Fx(\246)1607
306 y Fn(\000)1622 287 y Fh(\012)1629 276 y(\012)g(\0366)1655
222 y Fx(\246)p 1069 352 11 2 v 1069 161 V 1058 352 V
1058 161 V 1068 181 2 22 v 1068 223 V 1068 266 V 1068
309 V 1068 351 V 1068 181 V 1068 223 V 1068 266 V 1068
309 V 1068 351 V 1069 596 11 2 v 1069 426 V 1058 596
V 1058 426 V 1068 596 2 11 v 1068 596 V 1068 436 V 1068
436 V 1068 479 2 22 v 1068 521 V 1068 564 V 1068 479
V 1068 521 V 1068 564 V 1165 320 6 2 v 1165 267 V 1159
320 V 1159 267 V 1164 277 2 11 v 1164 298 V 1164 319
V 1164 277 V 1164 298 V 1164 319 V 1165 214 6 2 v 1165
150 V 1159 214 V 1159 150 V 1164 213 2 6 v 1164 213 V
1164 154 V 1164 154 V 1164 176 2 11 v 1164 197 V 1164
176 V 1164 197 V 1537 352 11 2 v 1537 150 V 1526 352
V 1526 150 V 1536 181 2 22 v 1536 223 V 1536 266 V 1536
309 V 1536 351 V 1536 181 V 1536 223 V 1536 266 V 1536
309 V 1536 351 V 1537 618 11 2 v 1537 416 V 1526 618
V 1526 416 V 1536 447 2 22 v 1536 489 V 1536 532 V 1536
574 V 1536 617 V 1536 447 V 1536 489 V 1536 532 V 1536
574 V 1536 617 V 430 86 a Fi(')p 430 587 2 419 v 430
671 a(&)622 86 y($)p 622 587 V 622 671 a(\045)p 514 671
26 2 v 514 86 V 165 86 a(')p 165 587 2 419 v 165 671
a(&)388 86 y($)p 388 587 V 388 671 a(\045)p 248 671 58
2 v 248 86 V 653 86 a(')p 653 587 2 419 v 653 671 a(&)909
86 y($)p 909 587 V 909 671 a(\045)p 737 671 90 2 v 737
86 V 1419 86 a(')p 1419 587 2 419 v 1419 671 a(&)1685
86 y($)p 1685 587 V 1685 671 a(\045)p 1503 671 100 2
v 1503 86 V 940 86 a(')p 940 587 2 419 v 940 671 a(&)1387
86 y($)p 1387 587 V 1387 671 a(\045)p 1024 671 281 2
v 1024 86 V 610 871 a Fv(Figure)11 b(12:)16 b(MT-based)11
b(Algorithms)135 1009 y(where)e(nodes)f(on)h(the)g(intersection)e
(\(the)h(principal)g(variation\))g(should)f(store)i(both)f(an)h(upper)f
(and)135 1066 y(lower)j(bound)f(at)h(the)g(same)h(time)g(\(see)f(also)g
([33]\).)17 b(W)l(e)12 b(refer)g(to)f(section)f(3)h(for)h(data)f
(indicating)135 1122 y(that)g(these)f(memory)i(requirements)f(are)h
(acceptable)f(in)g(practice.)206 1179 y(Some)f(of)f(the)g(above)g
(instances)f(are)i(new)m(,)g(some)g(are)g(not,)f(and)g(some)h(are)g
(small)f(adaptations)135 1235 y(of)16 b(known)e(ideas.)29
b(The)15 b(value)g(of)h(this)e(framework)i(does)f(not)g(lie)g(so)g
(much)h(in)f(the)g(newness)135 1292 y(of)f(the)g(instances,)g(but)g(in)
f(the)h(way)h(how)e(MT)i(enables)e(one)h(to)g(formulate)g(the)g
(behavior)g(of)g(a)135 1348 y(number)e(of)h(algorithms.)18
b(Formulating)11 b(a)i(seemingly)e(diverse)h(collection)f(of)h
(algorithms)f(into)135 1405 y(one)d(unifying)f(framework)i(allows)e(us)
i(to)f(focus)g(the)g(attention)f(on)h(the)g(fundamental)g(dif)o
(ferences)135 1461 y(in)i(the)g(algorithms.)15 b(For)c(each)g
(algorithm,)f(\256gure)h(12)f(shows)f(how)h(the)g(bounds)f(conver)o(ge)
i(from)135 1517 y(their)d(start)h(value)f(to)h(the)f(minimax)h(value.)
15 b(The)9 b(framework)h(allows)d(the)i(reader)g(to)g(see)g(just)f(how)
135 1574 y(similar)i(SSS*)i(and)f(DUAL*)f(really)h(are;)g(they)f(are)i
(just)e(special)g(cases)h(of)g(calling)f(Alpha-Beta.)135
1630 y(The)j(drivers)h(concisely)e(capture)i(the)f(algorithm)g(dif)o
(ferences.)24 b(MTD)13 b(of)o(fers)h(us)g(a)g(high-level)135
1687 y(paradigm)c(that)f(facilitates)g(the)h(reasoning)f(about)g
(important)g(issues)f(like)i(algorithm)f(ef)o(\256ciency)135
1743 y(and)g(memory)h(usage,)f(without)f(the)h(need)g(for)g(low-level)f
(details)g(like)h(search)g(trees)g(and)g(solution)135
1800 y(trees.)206 1856 y(All)j(the)i(algorithms)e(presented)h(are)h
(based)g(on)f(MT.)h(Since)g(MT)g(is)f(equivalent)f(to)h(a)h(null-)135
1913 y(window)6 b(Alpha-Beta)h(call)g(\(plus)g(storage\),)h(they)f
(search)h(less)e(nodes)h(than)g(the)g(inferior)g(one-pass)135
1969 y(Alpha-Beta\()p Fo(\000)p Fs(\245,)h Fv(+)p Fs(\245)p
Fv(\))i(algorithm.)15 b(There)c(have)g(been)f(other)g(\(less)h
(successful\))e(attempts)h(with)135 2026 y(algorithms)j(that)h(solely)g
(use)g(null-window)f(Alpha-Beta)h(searches)h([27,)g(46)o(].)28
b(Many)15 b(people)135 2082 y(have)g(noted)f(that)g(null-window)e
(searches)j(have)g(a)g(great)g(potential,)f(since)g(narrow)h(windows)
135 2138 y(usually)d(generate)i(more)g(cutof)o(fs)g(than)f(wider)g
(windows)f([1,)j(8)o(,)g(9)o(,)g(14)o(,)f(28,)g(46)o(].)25
b(However)n(,)15 b(it)135 2195 y(appears)10 b(that)f(the)h(realization)
f(that)g(the)h(transposition)d(table)i(can)h(be)g(used)g(to)f(create)i
(algorithms)135 2251 y(that)f(retain)f(the)h(ef)o(\256ciency)h(of)f
(null-window)e(searches)i(by)g(gluing)f(them)h(together)f(without)f
Fp(any)135 2308 y Fv(re-expansions\320and)13 b(create)h(an)g(SSS*-like)
g(best-\256rst)f(expansion)f(sequence\320is)i(new)m(.)24
b(The)135 2364 y(notion)7 b(that)h(the)h(value)f(of)h(a)g(bound)f(on)g
(the)h(minimax)f(value)h(of)f(the)h(root)f(of)h(a)g(tree)g(is)f
(determined)135 2421 y(by)i(a)g(solution)e(tree)j(was)f(not)f(widely)g
(known)g(among)h(researchers.)17 b(In)10 b(this)f(light,)h(it)f(should)
g(not)135 2477 y(be)14 b(too)g(surprising)e(that)i(the)g(idea)g(of)g
(using)f(depth-\256rst)g(null-window)f(Alpha-Beta)i(searches)135
2534 y(to)g(model)h(best-\256rst)f(algorithms)f(like)i(SSS*)g(is)f(new)
m(,)i(despite)e(their)g(widespread)g(use)h(by)f(the)135
2590 y(game-tree)e(search)g(community)m(.)892 2803 y(20)p
eop
%%Page: 21 21
21 20 bop 135 81 a Fw(5)45 b(Performance)135 148 y Fv(T)m(o)16
b(assess)f(the)h(performance)h(of)f(the)f(proposed)g(algorithms,)i(a)f
(series)g(of)g(experiments)f(was)135 204 y(performed.)42
b(W)l(e)20 b(present)f(data)h(for)g(the)f(comparison)g(of)g
(Alpha-Beta,)j(NegaScout,)g(MT)l(-)135 261 y(SSS*/MTD\(+)p
Fs(\245)p Fv(\),)g(MT)l(-DUAL*/MTD\()p Fo(\000)p Fs(\245)p
Fv(\))d(and)h(MTD\()p Fs(\246)p Fv(\).)43 b(Results)19
b(for)i(MTD\(bi\))e(and)135 317 y(MTD\(step\))11 b(are)h(not)e(shown;)g
(they)g(are)i(inferior)f(to)g(MTD\()p Fs(\246)p Fv(\).)135
440 y Fp(5.1)45 b(Experiment)10 b(Design)135 502 y Fv(W)l(e)17
b(will)f(assess)g(the)h(performance)g(of)g(the)g(algorithms)e(by)h
(counting)f(leaf)j(nodes)e(and)g(total)135 559 y(nodes)e(\(leaf)h
(nodes,)h(interior)e(nodes)g(and)h(nodes)f(at)h(which)f(a)h
(transposition)d(occurred\).)28 b(For)135 615 y(two)11
b(algorithms)f(we)i(also)f(provide)f(data)i(for)f(execution)g(time.)17
b(As)12 b(before,)g(experiments)f(were)135 672 y(conducted)g(with)f
(three)i(tournament-quality)d(game-playing)h(programs.)18
b(All)11 b(three)g(programs)135 728 y(use)c(a)g(transposition)g(tabl)o
(e)g(with)g(a)g(maximum)g(of)g(2)945 712 y Ft(21)981
728 y Fv(entries.)15 b(The)7 b(tests)g(from)g(section)g(3)g(showed)135
785 y(that)14 b(the)g(solution)e(trees)i(could)f(comfortably)h(\256t)g
(in)g(tables)g(of)g(this)f(size)h(for)h(the)f(depths)f(used)135
841 y(in)g(our)g(experiments,)g(without)f(any)h(risk)f(of)i(noise)e
(due)h(to)g(collisions.)20 b(W)l(e)14 b(used)f(the)g(original)135
898 y(program)e(author)r(')m(s)g(transposition)d(table)j(data)g
(structures)f(and)h(code)g(without)e(modi\256cation.)1647
881 y Ft(4)206 954 y Fv(Many)15 b(papers)f(in)g(the)h(literature)f(use)
g(Alpha-Beta)h(as)g(the)f(base-line)g(for)h(comparing)f(the)135
1010 y(performance)i(of)e(other)h(algorithms)e(\(for)i(example,)i([8,)e
(23)o(]\).)28 b(The)15 b(implication)e(is)h(that)g(this)135
1067 y(is)g(the)g(standard)f(data)i(point)d(which)i(everyone)g(is)g
(trying)f(to)h(beat.)26 b(However)n(,)15 b(game-playing)135
1123 y(programs)e(have)f(evolved)g(beyond)g(simple)g(Alpha-Beta)h
(algorithms.)20 b(Most)12 b(use)g(Alpha-Beta)135 1180
y(enhanced)19 b(with)e(null-window)f(search)j(\(NegaScout\),)i
(iterative)d(deepening,)i(transposition)135 1236 y(tables,)h(move)f
(ordering)f(and)h(an)f(initial)f(aspiration)g(window)m(.)41
b(Since)20 b(this)f(is)g(the)g(typical)135 1293 y(search)13
b(algorithm)f(used)h(in)f(high-performance)h(programs)g(\(such)g(as)g
(Chinook,)f(Phoenix)g(and)135 1349 y(Keyano\),)j(it)f(seems)g(more)h
(reasonable)f(to)g(use)g(this)f(as)h(our)g(base-line)f(standard.)25
b(The)14 b(worse)135 1406 y(the)g(base-line)f(comparison)g(algorithm)g
(chosen,)h(the)g(better)g(other)f(algorithms)g(appear)h(to)g(be.)135
1462 y(By)h(choosing)d(NegaScout)i(enhanced)g(with)f(aspiration)g
(searching)h(\(Aspiration)e(NegaScout\))135 1519 y(as)g(our)f
(performance)h(metric,)g(we)g(are)g(emphasizing)f(that)g(it)g(is)f
(possible)g(to)h(do)g(better)h(than)e(the)135 1575 y(\252best\272)j
(methods)f(currently)g(practiced)h(and)f(that,)h(contrary)g(to)f
(published)f(simulation)g(results,)135 1631 y(some)g
(methods\320notably)f(SSS*\320turn)h(out)g(to)f(be)i(inferior)m(.)206
1688 y(Because)e(we)g(implemented)g(the)f(MTD)h(algorithms)f(using)f
(MT)j(we)f(were)g(able)g(to)f(compare)135 1744 y(a)14
b(number)f(of)g(algorithms)f(that)g(were)i(previously)d(seen)i(as)h
(very)f(dif)o(ferent.)22 b(By)14 b(using)e(MT)h(as)135
1801 y(a)i(common)g(proof-procedure,)g(every)g(algorithm)f(bene\256ted)
h(from)g(the)f(same)h(enhancements)135 1857 y(concerning)d(iterative)h
(deepening,)g(transposition)d(tables)j(and)g(move)g(ordering)g(code.)23
b(T)m(o)12 b(our)135 1914 y(knowledge)c(this)h(is)g(the)g(\256rst)h
(comparison)f(of)g(\256xed-depth)g(depth-\256rst)g(and)g(best-\256rst)g
(minimax)135 1970 y(search)j(algorithms)e(where)i(all)f(the)g
(algorithms)f(are)j(given)d(identical)h(resources.)17
b(Through)10 b(the)135 2027 y(use)h(of)g(lar)o(ge)h(transposition)c
(tables,)j(our)g(base)h(line,)f(Aspiration)e(NegaScout,)j(becomes)f
(for)h(all)135 2083 y(practical)f(purposes)f(as)h(ef)o(fective)h(as)f
(Informed)g(NegaScout)g([24,)g(44,)h(46)o(].)135 2206
y Fp(5.2)45 b(Results)135 2268 y Fv(Figure)19 b(13)g(shows)e(the)i
(performance)h(of)f(Chinook,)h(Keyano)f(and)f(Phoenix,)j(respectively)m
(,)135 2325 y(using)16 b(the)h(number)g(of)g(leaf)h(evaluations)d(as)i
(the)g(performance)h(metric.)35 b(Figure)18 b(14)e(shows)135
2381 y(the)f(performance)h(of)g(the)f(programs)g(using)f(the)h(total)f
(number)h(of)h(nodes)e(in)h(the)g(search)h(tree)135 2438
y(as)f(the)f(metric)h(\(note)g(the)f(dif)o(ferent)h(scale\).)27
b(The)15 b(graphs)f(show)g(the)g(cumulative)g(number)h(of)p
135 2478 624 2 v 188 2506 a Fr(4)202 2522 y Fq(As)c(a)g(matter)g(of)h
(fact,)g(since)e(we)g(implemented)h(MT)g(using)f(null-window)h
(alpha-beta)f(searches,)g(we)g(did)h(not)135 2567 y(have)i(to)h(make)f
(any)h(changes)d(at)j(all)h(to)f(the)g(code)f(other)h(than)g(the)g
(disabling)f(of)h(forward)h(pruning)e(and)h(search)135
2613 y(extensions.)e(W)m(e)d(only)g(had)f(to)h(introduce)g(the)g(MTD)g
(driver)h(code.)892 2803 y Fv(21)p eop
%%Page: 22 22
22 21 bop 378 891 a @beginspecial 50 @llx 50 @lly 410
@urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.3.c.a.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 829 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.15) Rshow
1200 1168 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.12) Rshow
1200 1516 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.09) Rshow
1200 1874 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.06) Rshow
1200 2242 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.03) Rshow
1200 2620 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 2998 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.03 : 1) Rshow
1200 3366 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.06 : 1) Rshow
1200 3723 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.09 : 1) Rshow
1200 4071 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.12 : 1) Rshow
1200 4409 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.15 : 1) Rshow
1200 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(2) Cshow
1912 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(4) Cshow
2624 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(6) Cshow
3336 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(8) Cshow
4049 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(10) Cshow
4761 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(12) Cshow
5473 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(14) Cshow
6185 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(16) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(18) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Leaves Relative to Aspiration NegaScout) Cshow
grestore
4048 101 M
(Depth) Cshow
4048 4939 M
(Checkers) Cshow
LT0
7965 2620 M
(AspNS) Rshow
8085 2620 M
360 0 V
-7245 0 R
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
357 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
LT1
7965 2420 M
(AB) Rshow
8085 2420 M
360 0 V
1556 2873 M
712 732 V
712 235 V
712 -718 V
713 364 V
712 0 V
712 0 V
712 119 V
8205 2420 D
1556 2873 D
2268 3605 D
2980 3840 D
3692 3122 D
4405 3486 D
5117 3486 D
5829 3486 D
6541 3605 D
LT2
7965 2220 M
(MTD\(f\)) Rshow
8085 2220 M
360 0 V
1556 1963 M
712 134 V
712 0 V
712 -826 V
713 419 V
712 -419 V
712 281 V
712 138 V
8205 2220 A
1556 1963 A
2268 2097 A
2980 2097 A
3692 1271 A
4405 1690 A
5117 1271 A
5829 1552 A
6541 1690 A
LT3
7965 2020 M
(MT-Dual*) Rshow
8085 2020 M
360 0 V
1556 3122 M
712 -249 V
712 -512 V
712 -809 V
713 275 V
712 -137 V
712 671 V
712 512 V
8205 2020 B
1556 3122 B
2268 2873 B
2980 2361 B
3692 1552 B
4405 1827 B
5117 1690 B
5829 2361 B
6541 2873 B
LT4
7965 1820 M
(MT-SSS*) Rshow
8085 1820 M
360 0 V
1556 2620 M
712 502 V
712 718 V
712 -596 V
713 361 V
712 -361 V
712 0 V
712 479 V
8205 1820 C
1556 2620 C
2268 3122 C
2980 3840 C
3692 3244 C
4405 3605 C
5117 3244 C
5829 3244 C
6541 3723 C
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 784 x @beginspecial 50 @llx 50 @lly 410
@urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.2.k.a.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 829 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.15) Rshow
1200 1168 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.12) Rshow
1200 1516 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.09) Rshow
1200 1874 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.06) Rshow
1200 2242 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.03) Rshow
1200 2620 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 2998 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.03 : 1) Rshow
1200 3366 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.06 : 1) Rshow
1200 3723 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.09 : 1) Rshow
1200 4071 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.12 : 1) Rshow
1200 4409 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.15 : 1) Rshow
1200 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(2) Cshow
1833 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(3) Cshow
2466 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(4) Cshow
3099 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(5) Cshow
3732 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(6) Cshow
4365 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(7) Cshow
4998 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(8) Cshow
5631 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(9) Cshow
6264 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(10) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(11) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Leaves Relative to Aspiration NegaScout) Cshow
grestore
4048 101 M
(Depth) Cshow
4048 4939 M
(Othello) Cshow
LT0
7973 2620 M
(AspNS) Rshow
8093 2620 M
360 0 V
-7253 0 R
633 0 V
633 0 V
633 0 V
633 0 V
633 0 V
633 0 V
633 0 V
633 0 V
633 0 V
LT1
7973 2420 M
(AB) Rshow
8093 2420 M
360 0 V
1833 3366 M
633 120 V
633 585 V
633 -466 V
633 351 V
633 -233 V
633 117 V
633 116 V
8213 2420 D
1833 3366 D
2466 3486 D
3099 4071 D
3732 3605 D
4365 3956 D
4998 3723 D
5631 3840 D
6264 3956 D
LT2
7973 2220 M
(MTD\(f\)) Rshow
8093 2220 M
360 0 V
1833 2097 M
633 0 V
633 0 V
633 -685 V
633 551 V
633 -273 V
633 137 V
633 270 V
8213 2220 A
1833 2097 A
2466 2097 A
3099 2097 A
3732 1412 A
4365 1963 A
4998 1690 A
5631 1827 A
6264 2097 A
LT3
7973 2020 M
(MT-Dual*) Rshow
8093 2020 M
360 0 V
1833 2491 M
633 256 V
633 -256 V
633 129 V
633 -129 V
633 256 V
633 -256 V
633 382 V
8213 2020 B
1833 2491 B
2466 2747 B
3099 2491 B
3732 2620 B
4365 2491 B
4998 2747 B
5631 2491 B
6264 2873 B
LT4
7973 1820 M
(MT-SSS*) Rshow
8093 1820 M
360 0 V
1833 2747 M
633 -127 V
633 1103 V
3732 2491 L
633 507 V
4998 1963 L
633 657 V
633 746 V
8213 1820 C
1833 2747 C
2466 2620 C
3099 3723 C
3732 2491 C
4365 2998 C
4998 1963 C
5631 2620 C
6264 3366 C
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 384 2459 a @beginspecial 50 @llx 50 @lly
410 @urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.1.p.a.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 829 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.15) Rshow
1200 1168 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.12) Rshow
1200 1516 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.09) Rshow
1200 1874 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.06) Rshow
1200 2242 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.03) Rshow
1200 2620 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 2998 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.03 : 1) Rshow
1200 3366 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.06 : 1) Rshow
1200 3723 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.09 : 1) Rshow
1200 4071 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.12 : 1) Rshow
1200 4409 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.15 : 1) Rshow
1200 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(2) Cshow
2014 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(3) Cshow
2828 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(4) Cshow
3642 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(5) Cshow
4455 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(6) Cshow
5269 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(7) Cshow
6083 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(8) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(9) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Leaves Relative to Aspiration NegaScout) Cshow
grestore
4048 101 M
(Depth) Cshow
4048 4939 M
(Chess) Cshow
LT0
7955 2620 M
(AspNS) Rshow
8075 2620 M
360 0 V
-7235 0 R
814 0 V
814 0 V
814 0 V
813 0 V
814 0 V
814 0 V
814 0 V
LT1
7955 2420 M
(AB) Rshow
8075 2420 M
360 0 V
2014 3244 M
814 0 V
814 -497 V
813 251 V
814 246 V
814 479 V
8195 2420 D
2014 3244 D
2828 3244 D
3642 2747 D
4455 2998 D
5269 3244 D
6083 3723 D
LT2
7955 2220 M
(MTD\(f\)) Rshow
8075 2220 M
360 0 V
2014 2491 M
814 -801 V
814 137 V
4455 837 L
814 715 V
814 -281 V
8195 2220 A
2014 2491 A
2828 1690 A
3642 1827 A
4455 837 A
5269 1552 A
6083 1271 A
LT3
7955 2020 M
(MT-Dual*) Rshow
8075 2020 M
360 0 V
2014 2747 M
814 -127 V
814 -390 V
813 131 V
814 -131 V
814 0 V
8195 2020 B
2014 2747 B
2828 2620 B
3642 2230 B
4455 2361 B
5269 2230 B
6083 2230 B
LT4
7955 1820 M
(MT-SSS*) Rshow
8075 1820 M
360 0 V
2014 2620 M
814 -129 V
814 -261 V
813 -818 V
814 1079 V
814 631 V
8195 1820 C
2014 2620 C
2828 2491 C
3642 2230 C
4455 1412 C
5269 2491 C
6083 3122 C
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 655 2606 a Fv(Figure)11 b(13:)k(Leaf)d(Node)f(Count)892
2803 y(22)p eop
%%Page: 23 23
23 22 bop 378 891 a @beginspecial 50 @llx 50 @lly 410
@urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.6.c.a.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 730 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.10) Rshow
1200 1258 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 1838 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.10 : 1) Rshow
1200 2418 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.20 : 1) Rshow
1200 2998 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.30 : 1) Rshow
1200 3579 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.40 : 1) Rshow
1200 4159 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.50 : 1) Rshow
1200 4739 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.60 : 1) Rshow
1200 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(2) Cshow
1912 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(4) Cshow
2624 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(6) Cshow
3336 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(8) Cshow
4049 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(10) Cshow
4761 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(12) Cshow
5473 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(14) Cshow
6185 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(16) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(18) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Total nodes Relative to Aspiration NegaScout) Cshow
grestore
4048 101 M
(Depth) Cshow
4048 4939 M
(Checkers) Cshow
LT0
7965 2418 M
(AspNS) Rshow
8085 2418 M
360 0 V
1200 1258 M
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
357 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
356 0 V
LT1
7965 2218 M
(AB) Rshow
8085 2218 M
360 0 V
1556 1026 M
712 290 V
712 232 V
712 -232 V
713 174 V
712 58 V
712 58 V
712 0 V
8205 2218 D
1556 1026 D
2268 1316 D
2980 1548 D
3692 1316 D
4405 1490 D
5117 1548 D
5829 1606 D
6541 1606 D
LT2
7965 2018 M
(MTD\(f\)) Rshow
8085 2018 M
360 0 V
1556 1200 M
712 232 V
712 -116 V
3692 909 L
713 175 V
5117 909 L
712 59 V
712 116 V
8205 2018 A
1556 1200 A
2268 1432 A
2980 1316 A
3692 909 A
4405 1084 A
5117 909 A
5829 968 A
6541 1084 A
LT3
7965 1818 M
(MT-Dual*) Rshow
8085 1818 M
360 0 V
1556 2534 M
712 580 V
712 -232 V
712 -464 V
713 232 V
712 0 V
712 348 V
712 58 V
8205 1818 B
1556 2534 B
2268 3114 B
2980 2882 B
3692 2418 B
4405 2650 B
5117 2650 B
5829 2998 B
6541 3056 B
LT4
7965 1618 M
(MT-SSS*) Rshow
8085 1618 M
360 0 V
1556 2128 M
712 1451 V
712 812 V
712 -580 V
713 290 V
712 -348 V
712 -58 V
712 406 V
8205 1618 C
1556 2128 C
2268 3579 C
2980 4391 C
3692 3811 C
4405 4101 C
5117 3753 C
5829 3695 C
6541 4101 C
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 784 x @beginspecial 50 @llx 50 @lly 410
@urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.5.k.a.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 730 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.10) Rshow
1200 1258 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 1838 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.10 : 1) Rshow
1200 2418 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.20 : 1) Rshow
1200 2998 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.30 : 1) Rshow
1200 3579 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.40 : 1) Rshow
1200 4159 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.50 : 1) Rshow
1200 4739 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.60 : 1) Rshow
1200 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(2) Cshow
1833 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(3) Cshow
2466 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(4) Cshow
3099 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(5) Cshow
3732 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(6) Cshow
4365 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(7) Cshow
4998 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(8) Cshow
5631 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(9) Cshow
6264 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(10) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(11) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Total nodes Relative to Aspiration NegaScout) Cshow
grestore
4048 101 M
(Depth) Cshow
4048 4939 M
(Othello) Cshow
LT0
7973 2418 M
(AspNS) Rshow
8093 2418 M
360 0 V
1200 1258 M
633 0 V
633 0 V
633 0 V
633 0 V
633 0 V
633 0 V
633 0 V
633 0 V
633 0 V
LT1
7973 2218 M
(AB) Rshow
8093 2218 M
360 0 V
1833 1374 M
633 116 V
633 290 V
633 -232 V
633 174 V
633 0 V
633 58 V
633 58 V
8213 2218 D
1833 1374 D
2466 1490 D
3099 1780 D
3732 1548 D
4365 1722 D
4998 1722 D
5631 1780 D
6264 1838 D
LT2
7973 2018 M
(MTD\(f\)) Rshow
8093 2018 M
360 0 V
1833 1780 M
633 -174 V
633 -290 V
3732 968 L
633 58 V
633 -58 V
633 0 V
633 116 V
8213 2018 A
1833 1780 A
2466 1606 A
3099 1316 A
3732 968 A
4365 1026 A
4998 968 A
5631 968 A
6264 1084 A
LT3
7973 1818 M
(MT-Dual*) Rshow
8093 1818 M
360 0 V
1833 2824 M
633 -870 V
633 290 V
633 -522 V
633 232 V
633 -290 V
633 174 V
633 -232 V
8213 1818 B
1833 2824 B
2466 1954 B
3099 2244 B
3732 1722 B
4365 1954 B
4998 1664 B
5631 1838 B
6264 1606 B
LT4
7973 1618 M
(MT-SSS*) Rshow
8093 1618 M
360 0 V
1833 3230 M
484 1509 V
307 0 R
3099 3346 L
633 581 V
4365 2592 L
633 464 V
633 -986 V
633 1334 V
8213 1618 C
1833 3230 C
3099 3346 C
3732 3927 C
4365 2592 C
4998 3056 C
5631 2070 C
6264 3404 C
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 384 2459 a @beginspecial 50 @llx 50 @lly
410 @urx 302 @ury 2551 @rwi @setspecial
%%BeginDocument: plot.4.p.a.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 730 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.10) Rshow
1200 1258 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 1838 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.10 : 1) Rshow
1200 2418 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.20 : 1) Rshow
1200 2998 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.30 : 1) Rshow
1200 3579 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.40 : 1) Rshow
1200 4159 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.50 : 1) Rshow
1200 4739 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.60 : 1) Rshow
1200 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(2) Cshow
2014 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(3) Cshow
2828 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(4) Cshow
3642 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(5) Cshow
4455 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(6) Cshow
5269 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(7) Cshow
6083 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(8) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(9) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Total nodes Relative to Aspiration NegaScout) Cshow
grestore
4048 101 M
(Depth) Cshow
4048 4939 M
(Chess) Cshow
LT0
7955 2418 M
(AspNS) Rshow
8075 2418 M
360 0 V
1200 1258 M
814 0 V
814 0 V
814 0 V
813 0 V
814 0 V
814 0 V
814 0 V
LT1
7955 2218 M
(AB) Rshow
8075 2218 M
360 0 V
2014 1490 M
814 58 V
814 -290 V
813 232 V
814 58 V
814 174 V
8195 2218 D
2014 1490 D
2828 1548 D
3642 1258 D
4455 1490 D
5269 1548 D
6083 1722 D
LT2
7955 2018 M
(MTD\(f\)) Rshow
8075 2018 M
360 0 V
2014 1490 M
814 -290 V
814 -174 V
4455 619 L
814 232 V
6083 735 L
8195 2018 A
2014 1490 A
2828 1200 A
3642 1026 A
4455 619 A
5269 851 A
6083 735 A
LT3
7955 1818 M
(MT-Dual*) Rshow
8075 1818 M
360 0 V
2014 3056 M
2828 1780 L
814 464 V
813 -754 V
814 638 V
814 -696 V
8195 1818 B
2014 3056 B
2828 1780 B
3642 2244 B
4455 1490 B
5269 2128 B
6083 1432 B
LT4
7955 1618 M
(MT-SSS*) Rshow
8075 1618 M
360 0 V
2014 2940 M
139 1799 V
1372 0 R
3642 3288 L
190 1451 V
1230 0 R
5269 3114 L
251 1625 V
8195 1618 C
2014 2940 C
3642 3288 C
5269 3114 C
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 650 2606 a Fv(Figure)11 b(14:)16 b(T)m(otal)10
b(Node)h(Count)892 2803 y(23)p eop
%%Page: 24 24
24 23 bop 135 81 a Fv(nodes)11 b(over)i(all)e(previous)g(iterations)g
(for)h(a)h(certain)f(depth)g(\(which)f(is)h(realistic)f(since)h
(iterative)135 138 y(deepening)e(is)h(used\))g(relative)f(to)h
(Aspiration)e(NegaScout.)135 260 y Fp(5.2.1)45 b(SSS*)11
b(and)f(DUAL*)135 321 y Fv(Looking)h(at)h(the)h(graphs)f(shows)f(that)h
(SSS*)h(examines)g(substantially)d(more)j Fp(total)e
Fv(nodes)h(than)135 377 y(Alpha-Beta)7 b(but,)g(contrary)g(to)g(many)g
(simulatio)o(ns,)e(the)i(dif)o(ference)g(in)g(the)g(number)g(of)g
Fp(leaf)g Fv(no)o(des)135 434 y(is)k(relatively)f(small.)17
b(Since)12 b(game-playing)f(programs)g(use)g(many)h(search)g
(enhancements)f(that)135 490 y(reduce)i(the)f(search)h(ef)o(fort\320we)
h(used)e(only)g(iterative)f(deepening,)i(the)f(history)f(heuristic,)h
(and)135 547 y(transposition)5 b(tables\320the)h(potential)g
(bene\256ts)i(of)f(a)h(best-\256rst)f(search)h(are)g(greatly)f(reduced)
h(\(see)135 603 y(section)g(6\).)16 b(In)9 b(practice,)g(SSS*)h(is)e(a)
h(small)g(improvement)f(on)h(Alpha-Beta)f(using)g(the)g(leaf)i(node)135
659 y(metric)k(\(depending)e(on)i(the)f(branching)g(factor\).)24
b(Claims)14 b(that)f(SSS*)h(and)g(DUAL*)f(evaluate)135
716 y(signi\256cantly)e(fewer)i(leaf)h(nodes)e(than)g(Alpha-Beta)h(are)
g(based)g(on)f(simplifying)f(assumptions)135 772 y(that)g(have)h
(little)f(relation)g(with)g(what)h(is)f(used)h(in)f(practice.)19
b(In)12 b(ef)o(fect,)i(the)e(main)g(advantage)f(of)135
829 y(SSS*)h(\(point)e(5)h(in)f(the)h(introduction\))d(is)j(wrong.)16
b(Reasons)11 b(for)g(this)f(will)g(be)h(discussed)e(further)135
885 y(in)i(section)f(6.)206 942 y(Looking)f(at)i(the)f(graphs)g(for)i
(total)d(nodes,)i(we)g(see)g(a)g(clear)h(odd/even)e(ef)o(fect)h(for)g
(MT)l(-SSS*)135 998 y(and)e(MT)l(-DUAL*.)15 b(The)9 b(reason)g(is)g
(that)f(the)h(former)h(re\256nes)g(a)f(max)h(solution)d(tree,)j
(whereas)f(the)135 1055 y(latter)f(re\256nes)g(a)h(min)f(solution)e
(tree.)16 b(At)8 b(even)g(depths)f(the)h(parents)f(of)i(the)f(leaves)g
(are)g(min)h(nodes.)135 1111 y(W)n(ith)14 b(a)h(wide)f(branching)g
(factor)n(,)i(like)e(in)h(chess,)g(there)g(are)g(many)g(leaves)g(that)f
(will)g(initially)135 1168 y(cause)9 b(cutof)o(fs)f(for)h(a)g(high)e
(bound,)i(causing)e(a)i(return)g(at)f(their)h(min)f(parent)g
(\(Alpha-Beta')m(s)h(cutof)o(f)135 1224 y(condition)k(at)i(min)f(nodes)
g Fp(g)k Fs(\243)f Fg(a)i Fv(is)14 b(easily)g(satis\256ed)g(when)h
Fg(a)j Fv(is)c(close)h(to)f(+)p Fs(\245)p Fv(\).)27 b(It)15
b(is)f(likely)135 1280 y(that)e(MT)l(-SSS*)h(will)e(quickly)g(\256nd)i
(a)f(slightly)e(better)j(bound)e(to)h(end)g(each)h(pass,)f(causing)g
(it)g(to)135 1337 y(make)j(many)f(traversals)f(through)g(the)g(tree,)j
(perform)e(many)h(hash)e(table)h(lookups,)f(and)h(make)135
1393 y(many)h(calls)f(to)g(the)g(move)h(generator)m(.)27
b(These)14 b(traversals)g(show)g(up)g(in)g(the)g(total)g(node)g(count)
135 1450 y(\(\256gure)g(14\))f(and)g(interior)f(node)h(count)g(\(not)f
(shown\).)22 b(For)14 b(MT)l(-DUAL*,)f(the)g(reverse)h(holds.)135
1506 y(At)d(odd)g(depths,)g(many)g(leaves)h(cause)f(a)h(pass)f(to)g
(end)g(at)h(the)f(max)h(parents)f(of)g(the)g(leaves)h(when)135
1563 y(the)d(bound)f(is)g(close)h(to)f Fo(\000)p Fs(\245)p
Fv(.)16 b(\(There)10 b(is)e(room)h(for)h(improvement)e(here)i(by)e
(remembering)i(which)135 1619 y(moves)f(have)h(already)g(been)f
(searched.)17 b(This)8 b(will)h(reduce)h(the)f(number)h(of)f(hash)h
(table)f(lookups,)135 1676 y(but)h(not)h(the)g(number)g(of)g(visits)f
(to)g(interior)h(and)g(leaf)g(nodes.\))206 1732 y(As)g(a)i(last)e
(point)f(concerning)i(SSS*,)h(we)f(see)g(that)f(for)i(certain)e(depths)
g(the)h(iterative)f(deep-)135 1789 y(ening)d(version)h(of)g(SSS*)h
(expands)e(more)i(leaf)g(nodes)e(than)h(iterative)f(deepening)h
(Alpha-Beta)g(in)135 1845 y(the)f(case)h(of)f(checkers.)16
b(This)7 b(result)g(appears)i(to)e(run)h(counter)g(to)g(Stockman')m(s)g
(proof)g(that)g(Alpha-)135 1902 y(Beta)j(is)f(dominated)f(by)h(SSS*.)18
b(How)10 b(can)g(this)g(be?)16 b(No)10 b(one)g(has)g(questioned)f(the)h
(assumptions)135 1958 y(under)h(which)g(this)f(proof)i(was)f(made.)18
b(In)12 b(general,)g(game-playing)e(programs)i(do)f(not)g(perform)135
2014 y(single)d(\256xed-depth)h(searches.)16 b(T)m(ypically)m(,)8
b(they)h(use)g(iterative)f(deepening)h(and)g(dynamic)g(move)135
2071 y(ordering)g(to)g(increase)h(the)f(likelihood)f(that)h(the)g(best)
g(move)h(is)g(searched)f(\256rst.)16 b(The)10 b(SSS*)h(proof)135
2127 y(implicitly)g(assumes)j(that)e(every)i(time)f(a)h(node)f(is)g
(visited,)g(its)f(successor)h(moves)g(will)g Fp(always)135
2184 y Fv(be)d(considered)f(in)h(the)g(same)g(order)h(\(Coplan)e(makes)
i(this)e(assumption)f(explicit)h(in)g(his)g(proof)h(of)135
2240 y(C*')m(s)h(dominance)f(over)g(Alpha-Beta)h([9)o(]\).)17
b(In)11 b(appendix)e(B,)i(an)g(example)f(is)g(given)g(that)g(proves)135
2297 y(the)i(non-dominance)f(of)i(iterative)e(deepening)g(SSS*)i(over)f
(iterative)g(deepening)f(Alpha-Beta.)135 2353 y(W)l(e)i(conclude)e
(that)h(an)g(advantage)g(of)g(SSS*,)i(its)d(domination)f(of)j
(Alpha-Beta)f(\(point)f(4)h(in)f(the)135 2410 y(introduction\))e(is)h
(wrong)h(in)g(practice.)135 2532 y Fp(5.2.2)45 b(Aspiration)9
b(NegaScout)h(and)h(MTD)p Fv(\()p Fs(\246)p Fv(\))135
2593 y(The)g(results)f(show)h(that)f(Aspiration)g(NegaScout)g(is)h
(better)g(than)g(Alpha-Beta.)16 b(This)10 b(is)h(consis-)135
2649 y(tent)j(with)f([47])h(which)g(showed)f(Aspiration)f(NegaScout)i
(to)g(be)h(a)f(small)g(improvement)g(over)892 2803 y(24)p
eop
%%Page: 25 25
25 24 bop 135 81 a Fv(Alpha-Beta)11 b(when)g(transposition)d(tables)i
(and)h(iterative)g(deepening)f(were)i(used.)206 138 y(Over)7
b(all)g(three)g(games,)h(the)f(best)g(results)g(are)g(from)g(MTD\()p
Fs(\246)p Fv(\).)14 b(Not)7 b(surprisingly)l(,)f(the)h(current)135
194 y(algorithm)17 b(of)g(choice)h(by)f(the)g(game)h(programming)g
(community)m(,)g(Aspiration)e(NegaScout,)135 251 y(performs)11
b(well)e(too.)16 b(The)10 b(averaged)h(MTD\()p Fs(\246)p
Fv(\))f(leaf)h(node)f(counts)f(are)i(consistently)d(better)i(than)135
307 y(for)i(Aspiration)e(NegaScout,)i(averaging)g(a)g(5\26110\045)f
(improvement,)h(depending)f(on)g(the)h(game.)135 363
y(More)i(surprising)d(is)h(that)h(MTD\()p Fs(\246)p Fv(\))g
(outperforms)f(Aspiration)f(NegaScout)i(on)g(the)g(total)f(node)135
420 y(measure)18 b(as)f(well.)34 b(This)16 b(suggests)g(that)g(MTD\()p
Fs(\246)p Fv(\))i(is)e(calling)g(MT)i(close)f(to)f(the)h(minimum)135
476 y(number)10 b(of)f(times.)16 b(Measurements)10 b(con\256rm)g(that)f
(for)g(all)g(three)h(programs,)g(MTD\()p Fs(\246)p Fv(\))g(calls)f(MT)
135 533 y(about)g(3)i(to)e(6)i(times)e(per)i(iteration)e(on)h(average.)
17 b(In)10 b(contrast,)g(the)g(MT)l(-SSS*)h(and)f(MT)l(-DUAL*)135
589 y(results)i(are)i(poor)e(compared)h(to)g(Aspiration)e(NegaScout)i
(when)f(all)h(nodes)f(in)h(the)g(search)g(tree)135 646
y(are)g(considered.)20 b(Each)12 b(of)g(these)g(algorithms)g(usually)e
(performs)j(hundreds)e(of)i(MT)g(searches.)135 702 y(The)c(wider)h(the)
f(range)h(of)f(leaf)h(values,)g(the)f(smaller)h(the)f(steps)g(with)f
(which)h(they)g(conver)o(ge,)h(and)135 759 y(the)h(more)h(passes)e
(they)h(need.)206 815 y(From)c(section)g(3)g(we)g(recall)g(that)g(the)g
(many)g(MT)g(calls)g(of)g(MT)l(-SSS*)g(and)g(MT)l(-DUAL*)g(make)135
872 y(those)i(algorithms)g(perform)i(badly)e(when)h(the)f
(transposition)e(table)j(is)g(too)f(small)h(to)f(contain)g(the)135
928 y(nodes)k(needed)g(to)g(re\256ne)h(the)f(solution)e(tree.)24
b(Since)14 b(MTD\()p Fs(\246)p Fv(\))f(performs)h(signi\256cantly)e
(fewer)135 984 y(calls,)k(re-expansions)d(due)i(to)g(insuf)o(\256cient)
e(storage)i(are)g(not)g(as)g(big)f(a)h(problem.)28 b(Compared)135
1041 y(to)16 b(one-pass/wide-window)e(Alpha-Beta,)19
b(the)d(few-pass/null-window)e(MTD\()p Fs(\246)p Fv(\))j(performs)135
1097 y(even)9 b(better)g(than)g(Alpha-Beta)g(when)g(given)f(less)h
(memory)g(than)g(needed)g(for)h(the)f(solution)d(tree.)135
1154 y(An)13 b(explanation)f(for)h(this)f(surprising)g(behavior)n(,)h
(a)h(best-\256rst)f(algorithm)f(using)g(less)g(memory)135
1210 y(than)17 b(a)h(depth-\256rst)e(algorithm,)j(can)e(be)h(found)e
(in)h(the)h(literature)e(on)h(NegaScout)g([30,)h(41)o(].)135
1267 y(For)12 b(NegaScout,)g(the)g(bene\256t)g(of)g(the)f(cheaper)i
(null-window)c(searches)j(out-weighs)e(a)i(few)h(re-)135
1323 y(searches,)f(even)f(if)g(there)g(is)g(not)f(enough)g(memory)i(to)
f(prevent)g(the)g(re-expansions)e([8,)j(24)o(,)g(28)o(].)135
1380 y(This)e(also)h(holds)f(for)h(MTD\()p Fs(\246)p
Fv(\)')m(s)h(behavior)e(in)h(small-memory)g(situations.)135
1502 y Fp(5.2.3)45 b(Start)10 b(V)-5 b(alue)11 b(and)f(Sear)n(ch)h
(Effort)135 1563 y Fv(This)i(subsection)g(investigates)f(the)i
(relation)g(between)g(the)g(size)g(of)h(the)f(search)g(tree,)i(and)e
(the)135 1619 y(start)d(value)f(of)i(a)f(sequence)g(of)g(MT)h(calls.)
206 1676 y(The)i(biggest)f(dif)o(ference)i(in)f(the)g(MTD)g(algorithms)
f(is)h(their)g(\256rst)g(approximation)f(of)h(the)135
1732 y(minimax)f(value:)18 b(SSS*/MTD\(+)p Fs(\245)p
Fv(\))13 b(is)f(optimistic,)f(DUAL*/MTD\()p Fo(\000)p
Fs(\245)p Fv(\))h(is)g(pessimistic)f(and)135 1789 y(MTD\()p
Fs(\246)p Fv(\))g(is)g(realistic.)16 b(It)11 b(is)f(clear)i(that)f
(starting)e(close)i(to)g Fs(\246)p Fv(,)g(assuming)f(integer)o(-valued)
g(leaves,)135 1845 y(should)h(result)g(in)h(faster)h(conver)o(gence,)g
(simply)e(because)i(there)f(are)h(fewer)g(discrete)f(values)g(in)135
1902 y(the)i(range)h(from)g(the)f(start)g(value)g(to)g
Fs(\246)p Fv(.)26 b(If)15 b(each)g(MT)g(call)f(at)h(the)f(root)g
(expands)f(roughly)g(the)135 1958 y(same)k(number)f(of)g(nodes,)g(then)
g(doing)f(less)g(passes)g(yields)g(a)h(better)g(algorithm.)30
b(However)n(,)135 2014 y(MT)17 b(calls)f(generally)f(do)h
Fp(not)h Fv(expand)f(the)g(same)h(number)f(of)h(nodes.)31
b(Since)17 b(we)f(could)g(not)135 2071 y(\256nd)c(an)h(analytical)e
(solution)g(to)h(the)g(question,)f(we)i(have)f(conducted)g(experiments)
g(to)g(test)f(the)135 2127 y(intuitively)g(appealing)h(idea)i(that)f
(starting)f(a)i(search)g(close)f(to)g Fs(\246)h Fv(is)f(cheaper)h(than)
f(starting)g(far)135 2184 y(away)m(.)206 2240 y(Figure)c(15)g
(validates)f(the)i(choice)f(of)h(a)g(starting)e(parameter)i(close)f(to)
g(the)h(game)g(value)f(\(only)135 2297 y(the)j(results)f(for)i(chess)f
(are)h(shown;)e(the)h(results)f(for)i(Othello)d(and)j(checkers)f(are)h
(similar)f([35)o(]\).)135 2353 y(The)h(\256gure)g(shows)f(the)g(ef)o
(\256ciency)i(of)f(the)g(search)g(as)g(a)g(function)f(of)h(the)g
(distance)f(of)h(the)f(\256rst)135 2410 y(guess)d(from)h(the)g(correct)
g(minimax)f(value.)16 b(The)10 b(data)f(points)g(are)h(given)f(as)h(a)g
(percentage)g(of)f(the)135 2466 y(size)h(of)g(the)f(search)h(tree)g
(built)f(by)g(Aspiration)f(NegaScout.)16 b(T)m(o)9 b(the)h(left)f(of)h
(the)g(graph,)g(MTD\()p Fs(\246)p Fv(\))135 2523 y(is)h(closer)g(to)f
(DUAL*/MTD\()p Fo(\000)p Fs(\245)p Fv(\),)h(to)g(the)f(right)h(it)f(is)
h(closer)g(to)g(SSS*/MTD\(+)p Fs(\245)p Fv(\).)206 2579
y(It)d(appears)g(that)g(the)g(smaller)h(the)f(distortion,)f(the)h
(smaller)h(the)f(search)h(tree)f(is.)16 b(Our)8 b(intuition)135
2635 y(that)h(starting)f(close)h(to)g(the)g(minimax)g(value)g(is)g(a)h
(good)f(idea)g(is)g(justi\256ed)f(by)h(these)g(experiments.)892
2803 y(25)p eop
%%Page: 26 26
26 25 bop 384 794 a @beginspecial 50 @llx 50 @lly 410
@urx 302 @ury 2551 @rwi 1700 @rhi @setspecial
%%BeginDocument: plot.p.swallow.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
4049 501 M
0 4238 V
LTb
1200 501 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.18) Rshow
1200 933 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.15) Rshow
1200 1378 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.12) Rshow
1200 1836 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.09) Rshow
1200 2306 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.06) Rshow
1200 2790 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.03) Rshow
1200 3288 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 3785 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.03 : 1) Rshow
1200 4269 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.06 : 1) Rshow
1200 4739 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.09 : 1) Rshow
1770 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(-40) Cshow
2909 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(-20) Cshow
4049 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(0) Cshow
5188 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(20) Cshow
6327 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(40) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(Cumulative Leaves Relative to AspNS) Cshow
grestore
4048 101 M
(Difference of first guess from f) Cshow
4048 4939 M
(Chess) Cshow
LT0
2339 4427 M
(depth 6) Rshow
2459 4427 M
360 0 V
1200 2775 M
570 0 V
569 172 V
342 0 V
342 -523 V
114 -178 V
114 0 V
114 0 V
114 0 V
114 0 V
114 0 V
114 -547 V
57 -374 V
57 -190 V
57 -387 V
57 -197 V
56 0 V
57 197 V
57 0 V
57 0 V
114 0 V
114 194 V
114 0 V
114 193 V
114 0 V
114 190 V
114 0 V
342 -190 V
342 0 V
569 0 V
570 119 V
LT1
2339 4227 M
(depth 7) Rshow
2459 4227 M
360 0 V
1200 2775 M
570 0 V
569 0 V
342 0 V
342 0 V
114 0 V
114 -175 V
114 0 V
114 0 V
114 -176 V
114 176 V
114 -176 V
57 -178 V
57 -181 V
57 -182 V
57 0 V
56 -184 V
57 547 V
57 0 V
57 0 V
114 178 V
114 0 V
114 0 V
114 176 V
114 0 V
114 0 V
114 175 V
342 0 V
342 0 V
569 0 V
570 0 V
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 464 942 a Fv(Figure)11 b(15:)16 b(T)n(ree)c(Size)f
(Relative)g(to)g(the)g(First)g(Guess)f Fs(\246)135 1080
y Fv(A)20 b(\256rst)f(guess)g(close)g(to)g Fs(\246)g
Fv(makes)h(MTD\()p Fs(\246)p Fv(\))g(perform)g(better)f(than)g(the)g
(100\045)g(Aspiration)135 1137 y(NegaScout)12 b(baseline.)18
b(W)l(e)13 b(also)e(see)h(that)g(the)f(guess)g(must)h(be)g(quite)f
(close)h(to)f Fs(\246)h Fv(for)h(the)e(ef)o(fect)135
1193 y(to)16 b(become)g(signi\256cant.)30 b(Thus,)17
b(if)f(MTD\()p Fs(\246)p Fv(\))g(is)g(to)g(be)g(ef)o(fective,)i(the)e
Fs(\246)g Fv(obtained)f(from)h(the)135 1250 y(previous)11
b(iteration)h(must)g(be)h(a)g(good)f(indicator)g(of)g(the)h(next)f
(iteration')m(s)g(value.)1453 1233 y Ft(5)1490 1250 y
Fv(Comparing)135 1306 y(the)c(graphs)h(in)f(\256gures)h(13)f(and)h(15,)
g(we)g(see)g(that)f(MTD\()p Fs(\246)p Fv(\))h(is)f(not)g(achieving)g
(its)g(lowest)f(point,)i(so)135 1363 y(there)j(is)f(room)i(for)f
(improvement.)18 b(Indeed,)13 b(we)f(found)f(that)g(adjusting)f(the)i
(\256rst)g(guess)f(by)g Fs(\261)h Fv(1)135 1419 y(to)e(4)g(points)e
(for)j(each)f(iteration)f(can)i(improve)e(the)h(results)f(for)i(MTD\()p
Fs(\246)p Fv(\))f(in)g(terms)g(of)h(leaf)f(count)135
1475 y(by)j(two)f(to)g(three)i(percentage)f(points.)20
b(This)12 b(can)h(be)g(regarded)g(as)g(some)g(form)h(of)f(application)
135 1532 y(dependent)d(\256ne)i(tuning)d(of)i(the)g(MTD\()p
Fs(\246)p Fv(\))h(algorithm.)206 1588 y(In)g(doing)e(these)i
(experiments,)g(the)f(diversity)g(of)h(real-life)g(game)g(trees)g
(became)h(apparent.)135 1645 y(Just)g(as)h(it)f(is)h(not)f(hard)h(to)g
(construct)e(a)j(counter)o(-example)f(where)g(a)g(bad)g(\256rst)g
(guess)f(expands)135 1701 y Fp(less)k Fv(nodes)f(than)h(a)g(good)g
(\256rst)g(guess)f([35],)j(we)f(encountered)e(some)i(test)e(positions)f
(where)135 1758 y(Aspiration)9 b(NegaScout)i(performed)h(better)f(than)
f(MTD\()p Fs(\246)p Fv(\).)135 1880 y Fp(5.3)45 b(Execution)11
b(T)m(ime)135 1943 y Fv(The)f(bottom)e(line)h(for)h(practitioners)e(is)
i(execution)e(time.)16 b(This)9 b(metric)h(may)g(vary)g(considerably)
135 1999 y(for)15 b(dif)o(ferent)f(programs.)27 b(It)14
b(is)h(nevertheless)e(included,)h(to)h(give)f(evidence)g(of)h(the)f
(potential)135 2056 y(of)j(MTD\()p Fs(\246)p Fv(\).)32
b(W)l(e)18 b(only)d(show)h(the)g(deeper)h(searches,)h(since)e(the)h
(relatively)e(fast)h(shallower)135 2112 y(searches)i(hamper)g(accurate)
g(timings.)34 b(The)18 b(data)f(shown)g(is)g(from)h(typical)e(runs)h
(on)g(a)h(Sun)135 2169 y(SP)l(ARC.)c(W)l(e)g(did)e(experience)g(dif)o
(ferent)h(timings)e(when)i(running)e(on)h(dif)o(ferent)h(machines.)21
b(It)135 2225 y(may)12 b(well)e(be)h(that)g(cache)g(size)g(plays)g(an)g
(important)f(role,)h(and)g(that)f(tuning)g(the)h(program)g(has)g(a)135
2282 y(considerable)f(impact)h(as)g(well.)206 2338 y(The)k(experiments)
f(show)h(that)g(for)g(our)g(test)g(programs,)h(the)g(leaf)f(node)g
(count)g(is)f(a)i(good)135 2395 y(indicator)c(of)h(execution)f(time.)22
b(For)14 b(Chinook)d(and)i(Keyano,)h(MTD\()p Fs(\246)p
Fv(\))f(was)g(about)f(5\045)h(faster)135 2451 y(in)f(execution)g(time)h
(than)f(Aspiration)f(NegaScout;)i(for)f(Phoenix)g(we)h(found)f(MTD\()p
Fs(\246)p Fv(\))h(9\26116\045)135 2507 y(faster)m(.)42
b(\(As)19 b(pointed)f(out)h(in)g(the)g(previous)f(section,)j
(application-dependent)16 b(tuning)i(can)p 135 2548 624
2 v 188 2576 a Fr(5)202 2591 y Fq(For)13 b(programs)e(with)i(a)f
(pronounced)e(odd/even)g(oscillation)i(in)g(their)h(score,)g(results)e
(are)h(better)h(if)g(the)f(score)135 2637 y(from)e(two)f(iterations)h
(ago)e(is)h(used.)892 2803 y Fv(26)p eop
%%Page: 27 27
27 26 bop 384 794 a @beginspecial 50 @llx 50 @lly 410
@urx 302 @ury 2551 @rwi 1700 @rhi @setspecial
%%BeginDocument: plot.cpu.p.ps
/gnudict 40 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/vshift -66 def
/dl {10 mul} def
/hpt 31.5 def
/vpt 31.5 def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/PL { stroke gnulinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 0 1 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def
/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/P { stroke [] 0 setdash
  currentlinewidth 2 div sub M
  0 currentlinewidth V stroke } def
/D { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  P } def
/A { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  P } def
/C { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  P  } def
/S { 2 copy A C} def
end
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
/Times-Roman findfont 200 scalefont setfont
newpath
LTa
LTb
1200 1008 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.15) Rshow
1200 1531 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.12) Rshow
1200 2069 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.09) Rshow
1200 2621 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.06) Rshow
1200 3190 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1.03) Rshow
1200 3774 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1 : 1) Rshow
1200 4359 M
63 0 V
5634 0 R
-63 0 V
-5754 0 R
(1.03 : 1) Rshow
1200 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(3) Cshow
2150 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(4) Cshow
3099 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(5) Cshow
4049 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(6) Cshow
4998 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(7) Cshow
5948 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(8) Cshow
6897 501 M
0 63 V
0 4175 R
0 -63 V
0 -4375 R
(9) Cshow
1200 501 M
5697 0 V
0 4238 V
-5697 0 V
0 -4238 V
200 2620 M
currentpoint gsave translate 90 rotate 0 0 M
(CPU time ID-MTD\(f\) Relative to AspNS \(%\)) Cshow
grestore
4048 101 M
(Depth) Cshow
4048 4939 M
(Chess) Cshow
LT0
6234 4476 M
(AspNS time/leaves) Rshow
6354 4476 M
360 0 V
1200 3774 M
950 0 V
949 0 V
950 0 V
949 0 V
950 0 V
949 0 V
LT1
6234 4276 M
(MTD\(f\) time) Rshow
6354 4276 M
360 0 V
2150 2125 M
949 -217 V
4049 791 L
949 899 V
950 -445 V
6474 4276 D
2150 2125 D
3099 1908 D
4049 791 D
4998 1690 D
5948 1245 D
LT5
6234 4076 M
(MTD\(f\) leaves) Rshow
6354 4076 M
360 0 V
2150 2338 M
949 212 V
4049 1019 L
949 1106 V
950 -435 V
6474 4076 A
2150 2338 A
3099 2550 A
4049 1019 A
4998 2125 A
5948 1690 A
stroke
grestore
end
showpage
%%EndDocument
 @endspecial 668 942 a Fv(Figure)11 b(16:)k(Execution)10
b(T)n(ime)135 1080 y(improve)j(this)f(a)h(few)g(percentage)h(points.\))
20 b(For)14 b(other)e(programs)h(and)g(other)g(machines)g(these)135
1137 y(results)f(will)g(obviously)f(dif)o(fer)n(,)k(depending)d(in)g
(part)i(on)e(the)h(quality)f(of)i(the)f(start)f(value)h
Fs(\246)g Fv(and)135 1193 y(on)f(the)g(test)g(positions)d(used.)20
b(For)12 b(programs)h(of)f(lesser)g(quality)m(,)f(the)h(performance)i
(dif)o(ference)135 1250 y(will)9 b(be)h(bigger)n(,)g(with)e(MTD\()p
Fs(\246)p Fv(\))i(out-performing)f(Aspiration)f(NegaScout)i(by)f(a)h
(wider)g(mar)o(gin.)135 1306 y(Also,)h(since)h(the)f(tested)g
(algorithms)f(perform)j(quite)d(close)i(together)n(,)f(the)h(relative)f
(dif)o(ferences)135 1363 y(are)h(quite)f(sensitive)f(to)h(variations)f
(in)i(input)e(parameters.)19 b(In)11 b(generalizing)g(these)g(results,)
g(one)135 1419 y(should)h(keep)i(this)f(sensitivity)d(in)k(mind.)24
b(Using)12 b(these)i(numbers)f(as)h(absolute)e(predictors)h(for)135
1475 y(other)g(situations)e(would)h(not)h(do)f(justice)h(to)g(the)g
(complexities)e(of)j(real-life)f(game)h(trees.)23 b(The)135
1532 y(experimental)10 b(data)g(is)f(better)h(suited)f(to)h(provide)f
(insight)f(on,)j(or)f(guide)f(and)h(verify)g(hypotheses)135
1588 y(about)g(these)h(complexities.)135 1716 y Fw(6)45
b(Performance)12 b(Results)f(in)g(Perspective)135 1783
y Fv(The)h(introduction)d(summarized)j(the)f(general)h(view)f(on)g
(SSS*)h(in)g(\256ve)g(points.)k(Three)c(of)g(these)135
1839 y(points)6 b(were)j(drawbacks)f(that)f(were)i(solved)e(in)h
(previous)e(sections.)15 b(The)8 b(remaining)f(two)h(points)135
1896 y(were)i(positive)d(ones:)14 b(SSS*)c(provably)e(dominates)g
(Alpha-Beta,)i(and)e(it)h(expands)f(signi\256cantly)135
1952 y(fewer)15 b(leaf)h(nodes.)26 b(W)n(ith)14 b(the)h(disadvantages)e
(of)i(the)f(algorithm)g(solved,)h(the)g(question)e(that)135
2009 y(remains)e(is:)16 b(what)10 b(about)h(the)g(advantages)f(in)h
(practice?)206 2065 y(The)16 b(\256rst)g(of)h(the)f(two)g(advantages,)h
(theoretical)f(domination,)g(has)g(disappeared.)32 b(W)n(ith)135
2121 y(dynamic)18 b(move)h(reordering,)h(Stockman')m(s)f(dominance)f
(proof)h(for)f(SSS*)i(does)e(not)g(apply)m(.)135 2178
y(Consequently)m(,)10 b(experiments)g(con\256rm)i(that)f(Alpha-Beta)g
(can)g(out-search)g(SSS*.)206 2234 y(The)j(second)g(advantage)g(was)h
(that)f(SSS*)i(and)e(DUAL*)g(expand)g(signi\256cantly)f(less)h(leaf)135
2291 y(nodes)8 b(than)h(Alpha-Beta.)16 b(However)n(,)9
b(modern)h(game-playing)e(programs)h(do)g(a)g(nearly)g(optimal)135
2347 y(job)i(of)g(move)h(ordering,)f(and)h(employ)f(other)g
(enhancements)g(that)g(are)h(ef)o(fective)g(at)g(improving)135
2404 y(the)18 b(ef)o(\256ciency)h(of)g(the)f(search,)j(considerably)c
(reducing)h(the)g(advantage)g(of)h(null-window-)135 2460
y(based)14 b(best-\256rst)g(strategies.)25 b(The)15 b(experiments)f
(show)f(that)h(SSS*)i(of)o(fers)e(some)h(search)g(tree)135
2517 y(size)f(advantages)f(over)h(Alpha-Beta)g(for)h(chess)f(and)g
(Othello,)f(but)h(not)f(for)i(checkers.)25 b(These)135
2573 y(small)13 b(advantages)g(disappear)f(when)h(comparing)g(to)g
(NegaScout.)23 b(Both)13 b(SSS*)h(and)f(DUAL*)135 2630
y(compare)f(unfavorably)e(to)h(Alpha-Beta)f(when)h(all)g(nodes)g(in)f
(the)h(search)h(tree)f(are)h(considered.)892 2803 y(27)p
eop
%%Page: 28 28
28 27 bop 206 81 a Fv(All)18 b(algorithms,)h(including)e(MTD\()p
Fs(\246)p Fv(\),)k(perform)f(within)d(a)i(few)g(percentage)g(points)e
(of)135 138 y(each)g(other)r(')m(s)f(leaf)h(counts.)32
b(For)17 b(\256xed-depth)f(searches)g(without)f(transposition)f(tables)
h(and)135 194 y(iterative)g(deepening,)h(simulation)d(results)h(show)h
(that)g(SSS*,)j(DUAL*)c(and)h(NegaScout)g(are)135 251
y(major)c(improvements)e(over)i(simple)e(Alpha-Beta)h([17,)h(24)o(,)g
(26,)g(41)o(].)17 b(For)10 b(example,)h(one)f(study)135
307 y(shows)j(SSS*)h(and)g(DUAL*)f(building)f(trees)i(that)f(are)i
(about)e(half)h(the)f(size)h(of)g(those)f(built)g(by)135
363 y(Alpha-Beta)g([24].)24 b(This)13 b(is)g(in)h(sharp)f(contrast)g
(to)g(the)g(results)g(reported)g(here.)25 b(Why)13 b(is)g(there)135
420 y(such)j(a)h(disparity)f(with)f(the)i(previously)e(published)g
(work?)32 b(The)17 b(reason)g(is)f(the)h(dif)o(ference)135
476 y(between)11 b(real)g(and)g(arti\256cial)g(minimax)g(trees.)206
533 y(The)18 b(literature)f(on)h(minimax)g(search)h(abounds)d(with)i
(investigations)d(into)i(the)h(relative)135 589 y(performance)12
b(of)f(algorithms.)k(In)d(many)f(publications)e
(arti\256cially-generated)h(game)h(trees)g(are)135 646
y(used)j(to)g(test)g(these)h(algorithms.)25 b(W)l(e)16
b(ar)o(gue)f(that)f(arti\256cial)g(trees)h(are)g(too)f(simple)g(to)h
(form)g(a)135 702 y(realistic)10 b(test)h(environment.)206
759 y(Over)17 b(the)h(years)g(researchers)g(have)g(uncovered)f(a)h
(number)g(of)g(interesting)d(features)j(of)135 815 y(minimax)13
b(trees)g(as)g(they)g(are)h(generated)e(in)h(actual)g(application)e
(domains)i(like)f(game-playing)135 872 y(programs.)18
b(The)12 b(following)e(four)h(features)h(of)g(game)h(trees)e(can)h(be)g
(exploited)e(by)i(application-)135 928 y(independent)e(techniques)f(to)
i(increase)g(the)g(performance)h(of)f(search)h(algorithms.)207
1016 y Fs(\267)23 b Fv(V)-5 b(ariable)10 b(branching)h(factor)m(.)249
1073 y(The)j(number)g(of)g(children)f(of)h(a)h(node)e(is)h(often)f(not)
h(a)g(constant.)24 b(Algorithms)13 b(such)g(as)249 1129
y(proof)e(number)h(and)f(conspiracy)g(number)h(search)f(use)h(this)e
(fact)i(to)g(guide)e(the)i(search)g(in)249 1186 y(a)f
(\252least-work-\256rst\272)g(manner)g([1,)h(25)o(,)g(48].)207
1277 y Fs(\267)23 b Fv(V)-5 b(alue)10 b(interdependence)h(between)g
(parent)f(and)h(child)g(nodes.)249 1334 y(A)d(shallow)e(search)j(is)e
(often)h(a)g(good)f(approximation)g(of)h(a)g(deeper)g(search.)16
b(This)7 b(notion)g(is)249 1390 y(used)k(in)f(techniques)g(like)h
(iterative)g(deepening,)g(which\320in)f(conjunction)f(with)i(storing)
249 1447 y(previous)k(best)i(moves\320greatly)f(increases)h(the)f
(quality)g(of)h(move)g(ordering.)32 b(V)-5 b(alue)249
1503 y(interdependence)10 b(also)g(facilitates)h(forward)g(pruning)f
(based)g(on)h(shallow)f(searches)h([6].)207 1595 y Fs(\267)23
b Fv(V)-5 b(alue)10 b(independence)h(of)g(moves.)249
1651 y(In)k(many)h(domains)f(there)h(exists)e(a)i(global)e(partial)h
(move)h(ordering:)24 b(moves)16 b(that)e(are)249 1708
y(good)c(in)h(one)g(position)d(tend)j(to)g(be)g(good)f(in)h(another)g
(as)g(well.)16 b(This)10 b(fact)h(is)g(used)g(by)f(the)249
1764 y(history)f(heuristic)h(and)h(the)g(killer)f(heuristic)g([47].)207
1856 y Fs(\267)23 b Fv(T)n(ranspositions.)249 1912 y(The)9
b(fact)h(that)f(the)h(search)g(space)g(is)f(often)g(a)h(graph)g(has)f
(lead)h(to)f(the)h(use)f(of)h(transposition)249 1969
y(tables.)26 b(In)15 b(some)g(games,)h(notably)d(chess)i(and)f
(checkers,)i(they)f(lead)f(to)g(a)i(substantial)249 2025
y(reduction)e(of)i(the)g(search)g(ef)o(fort)g([36)o(].)31
b(Of)16 b(no)f(less)g(importance)h(is)f(the)h(better)f(move)249
2082 y(ordering,)10 b(which)h(dramatically)f(improves)h(the)g(ef)o
(fectiveness)g(of)g(Alpha-Beta.)135 2170 y(There)g(are)h(other)f
(features)g(which)g(we)g(do)g(not)f(address)h(for)g(reasons)g(of)g
(brevity)m(.)206 2226 y(The)e(impact)g(of)g(the)g(enhancements)g(is)g
(signi\256cant:)k(many)d(state-of-the-art)e(game-playing)135
2283 y(programs)18 b(are)g(reported)g(to)f(approach)h(their)f
(theoretical)g(lower)h(bound,)h(the)e(minimal)h(tree)135
2339 y([12,)c(13,)g(36,)g(46].)25 b(Regrettably)m(,)15
b(this)e(high)g(level)g(of)h(performance)h(does)f(not)f(imply)h(that)f
(we)135 2396 y(have)e(a)h(clear)f(understanding)e(of)j(the)e(detailed)h
(structure)f(of)h(real-life)h(game)f(trees.)206 2452
y(Many)h(points)f(in\257uence)h(the)h(search)f(space)h(in)f(certain)g
(ways,)h(although)e(it)h(is)g(not)g(exactly)135 2509
y(known)j(what)h(the)g(ef)o(fect)h(is.)31 b(For)17 b(example,)h
(transpositions,)d(iterative)g(deepening)g(and)h(the)135
2565 y(history)11 b(heuristic)g(all)h(cause)h(the)f(tree)h(to)e(be)i
(dynamically)e(re-ordered)i(based)f(on)g(information)135
2622 y(that)i(is)g(gathered)g(during)g(the)g(search.)27
b(The)14 b(ef)o(fectiveness)g(of)h(iterative)f(deepening)f(depends)135
2678 y(on)e(many)h(factors,)g(such)f(as)g(the)g(strength)g(of)g(the)g
(value)g(interdependence,)g(number)h(of)g(cutof)o(fs)892
2803 y(28)p eop
%%Page: 29 29
29 28 bop 135 81 a Fv(in)13 b(the)f(previous)g(iteration,)g(and)h
(quality)f(of)h(the)f(evaluation)g(function.)21 b(The)13
b(ef)o(fectiveness)f(of)135 138 y(transposition)c(tables)h(depends)h
(on)g(game-speci\256c)h(parameters,)h(the)e(size)g(of)h(the)f
(transposition)135 194 y(table,)g(the)g(search)g(depth,)g(and)g
(possibly)e(on)i(move)g(ordering)f(and)h(the)g(phase)g(of)g(the)f
(game.)17 b(The)135 251 y(ef)o(fectiveness)9 b(of)g(the)g(history)f
(heuristic)g(also)h(depends)g(on)g(game-speci\256c)h(parameters,)g(and)
g(on)135 307 y(the)h(quality)f(of)h(the)g(evaluation)e(function.)206
363 y(The)14 b(consequence)g(of)h(this)f(is)g(that)g(game)h(trees)g
(remain)g(highly)e(complex)i(and)f(dynamic)135 420 y(entities,)9
b(whose)g(structure)h(is)f(in\257uenced)h(by)f(the)h(techniques)e(that)
i(make)g(use)g(of)g(\(some)g(of\))g(the)135 476 y(four)j(listed)g
(features.)23 b(Acquiring)12 b(data)h(on)g(these)g(factors)h(and)f(the)
g(way)h(they)e(relate)i(seems)g(a)135 533 y(formidable)d(task.)18
b(It)12 b(poses)f(many)h(problems)f(for)h(researchers)g(attempting)e
(to)i(reliably)e(model)135 589 y(the)h(behavior)f(of)i(algorithms)d(on)
i(realistic)f(minimax)h(trees.)206 646 y(All)c(of)g(the)h(simulations)d
(that)i(we)h(know)f(of)h(include)e(at)i(most)f(one)h(of)g(the)f(above)h
(four)f(features)135 702 y(in)13 b(the)g(trees)h(that)f(they)g
(simulate)f(\(for)i(example,)h([3,)f(4)o(,)h(8)o(,)f(10,)g(15)o(,)g
(17,)g(24)o(,)g(26,)g(41)o(,)g(43,)g(51)o(]\).)135 759
y(In)19 b(the)g(light)f(of)h(the)g(highly)e(complex)i(nature)g(of)g
(real-life)h(game)f(trees,)j(simulations)17 b(can)135
815 y(only)d(be)h(regarded)g(as)g(approximations,)g(whose)f(results)g
(may)h(not)f(be)h(accurate)h(for)f(real-life)135 872
y(applications.)26 b(W)l(e)15 b(feel)h(that)e(simulations)f(provide)h
(a)h(feeble)g(basis)f(for)h(conclusions)e(on)h(the)135
928 y(relative)i(merit)h(of)g(search)h(algorithms)d(as)i(used)f(in)h
(practice.)34 b(The)16 b(gap)h(between)g(the)f(trees)135
984 y(searched)e(in)g(practice)g(and)g(in)f(simulations)f(is)i(lar)o
(ge.)25 b(Simulating)13 b(search)h(on)f(arti\256cial)h(trees)135
1041 y(that)d(have)h(little)e(relationship)g(with)h(real)h(trees)g
(runs)f(the)h(danger)f(of)h(producing)f(misleading)f(or)135
1097 y(incorrect)f(conclusions.)14 b(It)c(would)f(take)g(a)h
(considerable)f(amount)g(of)h(work)f(to)h(build)e(a)i(program)135
1154 y(that)15 b(can)i(properly)e(simulate)g(real)i(game)g(trees.)31
b(Since)16 b(there)g(are)h(already)f(a)h(lar)o(ge)f(number)135
1210 y(of)e(quality)f(game-playing)h(programs)g(available,)h(we)f(feel)
h(that)f(the)g(case)g(for)h(simulations)d(of)135 1267
y(minimax)f(search)g(algorithms)f(is)h(weak.)206 1323
y(An)17 b(often)g(used)f(approach)h(to)g(have)h(simulations)d
(approximate)i(the)g(ef)o(\256ciency)g(of)h(real)135
1380 y(applications)e(is)i(to)f(increase)i(the)f(quality)e(of)i(move)h
(ordering.)37 b(In)18 b(the)g(light)e(of)j(what)e(has)135
1436 y(been)f(said)g(previously)m(,)g(just)f(increasing)h(the)g
(probability)e(of)i(\256rst)g(moves)g(causing)g(a)g(cutof)o(f)135
1493 y(to,)i(say)m(,)h(98\045)d(can)h(only)f(be)h(viewed)f(as)h(a)h
(naive)e(solution,)g(that)h(is)f(not)g(suf)o(\256cient)h(to)f(yield)135
1549 y(realistic)d(simulations.)23 b(First,)14 b(the)g(move)g(ordering)
f(is)h(not)f(uniform)h(throughout)d(the)j(tree)g(\(in)135
1605 y([35])9 b(this)f(is)g(further)h(analyzed\).)16
b(Secondly)m(,)9 b(and)g(more)h(importantly)m(,)e(the)h(good)f(move)h
(ordering)135 1662 y(is)17 b(not)f(a)i(cause)f(but)f(an)i(ef)o(fect.)35
b(It)17 b(is)g(caused)g(by)f(techniques)g(\(like)h(the)g(history)e
(heuristic\))135 1718 y(making)7 b(use)g(of)g(phenomena)g(like)g(a)g
(variabl)o(e)g(branchin)o(g)g(factor)n(,)e(value)i(interdependence,)g
(value)135 1775 y(independence)12 b(and)h(transpositions.)19
b(Causes)13 b(and)g(ef)o(fects)h(appear)f(to)g(be)g(all)g
(interconnected,)135 1831 y(yielding)c(a)j(picture)e(of)i(great)f
(complexity)f(that)g(does)h(not)g(look)f(very)h(inviting)e(to)h
(disentangle.)206 1888 y(As)g(an)h(example)f(of)h(what)f(the)g(dif)o
(ferences)h(between)g(real)g(and)f(arti\256cial)g(trees)h(can)g(lead)f
(to,)135 1944 y(let)j(us)h(look)e(at)i(some)g(statements)e(in)i(the)f
(literature)g(concerning)g(SSS*.)25 b(In)13 b(the)h(introduction)135
2001 y(we)19 b(mentioned)f(\256ve)h(points)e(describing)h(the)g
(general)h(view)g(on)f(SSS*:)32 b(it)18 b(is)h(\(1\))g(dif)o(\256cult)
135 2057 y(to)14 b(understand,)h(\(2\))g(has)g(unreasonable)f(memory)h
(requirements,)h(\(3\))f(is)f(slow)m(,)h(\(4\))g(provably)135
2114 y(dominates)d(Alpha-Beta)g(in)g(expanded)g(leaves,)h(and)f(\(5\))h
(that)f(it)f(expands)h(signi\256cantly)f(fewer)135 2170
y(leaf)20 b(nodes)g(than)f(Alpha-Beta.)43 b(The)20 b(validity)e(of)j
(these)e(points)g(has)g(been)i(examined)f(by)135 2226
y(numerous)12 b(researchers)i(in)e(the)h(past)f([8,)i(17)o(,)g(24)o(,)f
(26,)g(41,)g(45,)g(51].)22 b(All)12 b(come)h(to)g(roughly)e(the)135
2283 y(same)g(conclusion,)f(that)g(the)g(answer)h(to)f(all)g(\256ve)h
(points)e(is)h(\252true:\272)16 b(SSS*)c(searches)e(less)g(leaves)135
2339 y(than)e(Alpha-Beta,)h(but)f(it)g(is)g Fp(not)h
Fv(a)g(practical)f(algorithm.)15 b(However)n(,)9 b(two)f(publications)e
(contend)135 2396 y(that)14 b(points)f(2)h(and)h(3)f(may)h(be)g(false,)
g(indicating)e(that)h(SSS*)h(not)f(only)f(builds)g(smaller)i(trees,)135
2452 y(but)e(that)g(the)g(problem)h(of)f(the)h(slow)f(operations)f(on)h
(the)h(OPEN)f(list)g(may)h(be)f(solved)g([3,)h(43)o(].)135
2509 y(This)f(paints)g(a)i(favorable)f(picture)g(for)g(SSS*,)i(since)e
(the)g(negative)g(points)e(would)i(be)g(solved,)135 2565
y(while)d(the)g(positive)f(ones)h(would)f(still)g(stand.)17
b(Probably)11 b(due)g(to)g(the)g(complexity)g(of)g(the)g(SSS*)135
2622 y(algorithm)f(the)g(authors)g(restricted)g(themselves)f(to)i
(simulations.)j(W)n(ith)c(our)g(reformulation)g(we)135
2678 y(were)j(able)g(to)f(use)g(real)h(programs)g(to)f(give)g(the)g
(de\256nitive)g(answer)h(on)f(the)g(\256ve)h(questions.)19
b(In)892 2803 y(29)p eop
%%Page: 30 30
30 29 bop 135 81 a Fv(practice)13 b Fp(all)f Fv(\256ve)h(points)f(are)h
(wrong,)g(making)g(it)f(clear)i(that,)f(although)e(SSS*)j(is)e
(practical,)i(in)135 138 y(realistic)d(programs)g(it)g(has)h
Fp(no)f Fv(substantial)e(advantage)j(over)f(Alpha-Beta,)h(and)g(is)f
(even)g(worse)135 194 y(than)g(Alpha-Beta-variants)f(like)g(Aspiration)
f(NegaScout.)206 251 y(This)h(example)h(may)h(serve)f(to)g(illustrate)f
(our)h(point)e(that)i(it)g(is)g(hard)g(to)g(reliably)f(model)h(real)135
307 y(trees.)17 b(In)11 b(the)g(past)f(we)i(have)f(performed)g
(simulations)e(too)i([10)o(,)h(24)o(].)17 b(W)l(e)12
b(were)g(quite)e(shocked)135 363 y(when)h(we)g(found)g(out)f(how)h
(easy)g(it)g(is)g(to)f(draw)i(wrong)e(conclusions)f(based)i(on)g(what)g
(appeared)135 420 y(to)16 b(be)g(valid)g(assumptions.)30
b(W)l(e)17 b(hope)f(to)g(have)g(shown)f(in)h(this)f(paper)i(that)e(the)
i(temptation)135 476 y(of)e(oversimplifying)e(the)h(structure)h(of)g
(game)h(trees)f(can)g(and)g(should)e(be)i(resisted.)27
b(Whether)135 533 y(this)16 b(problem)g(only)g(occurs)h(in)f(minimax)h
(search,)i(or)e(also)f(in)g(other)h(domains)f(of)h(Arti\256cial)135
589 y(Intelligence,)10 b(is)h(a)h(question)d(that)h(we)i(leave)f(open.)
135 717 y Fw(7)45 b(Conclusions)135 784 y Fv(From)18
b(the)e(original)g(formulation,)h(it)g(is)f(hard)h(to)g(understand)e
(how)i(and)f(why)h(SSS*)h(works.)135 840 y(It)d(takes)g(a)h
(considerable)e(amount)h(of)g(ef)o(fort)h(to)f(see)g(through)f(the)h
(six)f(interlocking)g Fu(G)i Fv(cases.)135 897 y(SSS*)k(manipulates)d
(a)j(single)d(max)j(solution)c(tree)k(and)e(establishes)g(a)h(sequence)
g(of)f(upper)135 953 y(bounds)12 b(on)i(the)f(minimax)h(value.)24
b(In)14 b(our)f(reformulation,)h(MT)l(-SSS*,)i(we)e(use)f(the)h
(concepts)135 1009 y(of)k(null-window)d(Alpha-Beta)j(search)g(and)g
(transposition)c(tables)j(to)h(create)g(this)f(behavior)m(.)135
1066 y(Null-window)11 b(searches)i(cut)g(of)o(f)h(more)g(nodes)e(than)h
(wider)o(-window)e(searches.)23 b(Just)12 b(like)h(for)135
1122 y(NegaScout,)e(the)g(domination)e(of)i(SSS*)h(over)f(Alpha-Beta)g
(can)g(be)g(explained)f(by)h(the)g(pruning)135 1179 y(power)g(of)g
(null-window)e(searches.)206 1235 y(Unlike)17 b(NegaScout,)k(MT)l
(-SSS*)e(uses)g Fp(only)f Fv(null-window)e(searches.)39
b(At)19 b(the)f(root)g(of)135 1292 y(the)g(tree,)j(many)e(repeated)f
(calls)g(to)g(MT)h(are)g(performed.)39 b(Consequently)m(,)19
b(some)f(form)h(of)135 1348 y(storage)12 b(is)g(needed)g(to)g(glue)g
(the)g(calls)f(together)n(,)i(preventing)e(excessive)g(node)h
(re-expansions.)135 1405 y(T)n(ransposition)g(tables)h(provide)g(an)i
(ef)o(\256cient)f(way)g(to)g(do)g(this.)24 b(They)14
b(allow)f(for)i(the)f(pruning)135 1461 y(power)9 b(of)g(null-window)e
(Alpha-Beta)i(calls)g(to)f(be)i(retained)e(over)h(a)h(sequence)f(of)g
(searches,)h(and)135 1518 y(for)i(subsequent)e(Alpha-Beta)h(calls)g(to)
h(build)e(on)h(the)h(work)f(of)h(previous)e(ones,)i(constructing)e(a)
135 1574 y(best-\256rst)g(expansion)g(sequence.)206 1630
y(W)l(e)e(have)g(formulated)g(a)g(framework)h(for)f(null-window-based)d
(best-\256rst)i(algorithms.)14 b(One)135 1687 y(instance)d(of)g(this)f
(framework)i(is)f(MTD\()p Fs(\246)p Fv(\).)17 b(It)12
b(uses)f(an)g(approximation,)f(such)h(as)g(the)g(previous)135
1743 y(score)h(in)f(an)h(iterative)f(deepening)f(setting,)h(as)h(the)f
(start)g(value,)h(instead)f(of)g(+)p Fs(\245)h Fv(or)f
Fo(\000)p Fs(\245)p Fv(.)19 b(In)11 b(this)135 1800 y(way)c(the)g
(number)h(of)f(null-window)e(searches)j(is)f(dramatically)g(reduced,)h
(making)f(the)g(algorithm)135 1856 y(much)i(less)f(dependent)g(on)h
(storage)f(of)h(search)g(results.)15 b(The)9 b(few)g(re-expansions)f
(are)h(more)h(than)135 1913 y(of)o(fset)f(by)g(the)g(ef)o(\256ciency)g
(of)h(the)f(null-window)d(calls.)16 b(Furthermore,)10
b(a)g(start)e(value)h(close)g(to)f(the)135 1969 y(minimax)g(value)g
(creates)g(a)h(more)f(ef)o(\256cient)h(search.)16 b(In)8
b(our)g(experiments,)g(using)f(three)h(dif)o(ferent)135
2026 y(game-playing)13 b(programs,)j(MTD\()p Fs(\246)p
Fv(\))e(is)g(consistently)e(the)i(most)g(ef)o(\256cient)g(search)h
(algorithm.)135 2082 y(The)c(ef)o(\256ciency)i(comes)e(at)h(no)f(extra)
h(algorithmic)e(complexity:)15 b(just)c(a)h(standard)e(Alpha-Beta-)135
2139 y(based)17 b(program)g(plus)f(one)h(control)f(loop.)33
b(By)17 b(doing)f(away)h(with)f(wider)h(search)g(windows)135
2195 y(altogether)n(,)d(and)f(using)f(a)i(good)e(start)h(value,)h(our)f
(experiments)g(show)g(that)g(one)g(can)g(improve)135
2251 y(on)f(NegaScout)f(by)h(a)g(wider)f(mar)o(gin)h(than)g(NegaScout')
m(s)g(use)f(of)h(null-windows)d(allowed)i(it)h(to)135
2308 y(improve)f(on)g(Alpha-Beta.)206 2364 y(The)d(experiments)h
(allowed)f(us)h(to)f(disspell)f(a)j(myth:)k(none)9 b(of)g(the)g
(algorithms)e(discussed)h(in)135 2421 y(this)j(article,)i(not)f(even)g
(SSS*,)i(needs)e(too)g(much)h(memory)g(for)g(use)f(in)g(practical)g
(applications.)135 2477 y(The)f(solution)e(trees)i(that)g(are)g
(traversed)g(\256t)h(perfectly)f(well)f(in)h(today')m(s)g(memory)h
(sizes.)206 2534 y(One)h(of)g(the)g(most)g(interesting)e(outcomes)i(of)
g(our)g(experiments)g(is)g(that)f(the)h(performance)135
2590 y(of)h(all)g(algorithms)f(dif)o(fers)i(only)e(by)h(a)h(few)g
(percentage)f(points.)25 b(The)14 b(search)g(enhancements)135
2647 y(used)j(in)g(high-performance)g(game-playing)f(programs)h
(improve)g(the)g(search)h(ef)o(\256ciency)g(to)892 2803
y(30)p eop
%%Page: 31 31
31 30 bop 135 81 a Fv(such)17 b(a)i(high)e(degree)h(that)f(the)h
(question)e(of)i(which)f(algorithm)g(to)g(use,)j(be)e(it)f(Alpha-Beta,)
135 138 y(NegaScout,)g(SSS*)g(or)f(MTD\()p Fs(\246)p
Fv(\),)h(is)f(no)f(longer)g(of)h(prime)h(importance.)30
b(\(For)16 b(programs)g(of)135 194 y(lesser)10 b(quality)m(,)f(the)h
(performance)h(dif)o(ference)f(will)f(be)i(bigger)n(,)f(with)f(MTD\()p
Fs(\246)p Fv(\))h(out-performing)135 251 y(NegaScout)i(by)h(a)g(wider)g
(mar)o(gin.\))22 b(A)12 b(consequence)h(of)f(this)g(is)h(that)f(in)g
(practice)h(SSS*)h(is)e(not)135 307 y(a)f(signi\256cant)d(improvement)i
(over)g(Alpha-Beta,)g(is)g(regularly)g(out-performed)f(by)h(NegaScout,)
135 363 y(and)15 b(is)f(dominated)g(by)h(MTD\()p Fs(\246)p
Fv(\))g(in)g(every)g(respect.)28 b(Hence)15 b(we)g(believe)g(that)f
(SSS*)i(should)135 420 y(now)11 b(become)g(a)h(footnote)e(in)g(the)h
(history)f(of)h(game-tree)h(search.)206 476 y(The)g(reason)g(for)g(the)
g(dif)o(ference)h(between)f(our)g(results)f(and)i(simulations)d(is)h
(that)h(the)g(trees)135 533 y(generated)19 b(in)f(actual)g
(applications)f(are)i(complex.)39 b(It)18 b(is)g(hard)h(to)f(create)i
(reliable)e(models)135 589 y(for)h(simulations.)35 b(Using)17
b(arti\256cial)i(trees)f(runs)g(the)g(danger)g(of)g(producing)f
(misleading)g(or)135 646 y(incorrect)c(results.)22 b(The)13
b(\256eld)h(of)f(minimax)g(search)h(is)f(fortunate)f(to)h(have)g(a)h
(lar)o(ge)g(number)f(of)135 702 y(game-playing)f(programs)h(available.)
22 b(These)13 b(should)f(be)h(used)f(in)h(preference)h(to)f
(arti\256cially-)135 759 y(constructed)k(simulations.)37
b(Future)18 b(research)h(should)e(try)h(to)g(identify)g(factors)g(that)
g(are)h(of)135 815 y(importance)14 b(in)h(real)f(game)i(trees,)g(and)e
(use)g(them)h(as)g(a)g(guide)f(in)g(the)g(construction)f(of)h(better)
135 872 y(search)d(algorithms,)g(instead)f(of)h(arti\256cial)g(models)g
(with)f(a)h(weak)h(link)e(to)g(reality)m(.)135 999 y
Fw(A)45 b(Equivalence)12 b(of)f(MT)l(-SSS*)i(and)e(SSS*)135
1066 y Fv(In)k(this)e(appendix)h(we)h(will)f(look)f(deeper)i(into)f
(the)h(relation)e(between)i(MT)l(-SSS*)h(and)e(SSS*.)135
1122 y(The)j(full)f(proof)g(that)h(both)f(formulations)f(are)i
(equivalent,)h(in)e(the)h(sense)f(that)g(they)h(expand)135
1179 y(the)f(same)h(leaf)f(nodes)g(in)f(the)h(same)h(order)n(,)h(can)f
(be)f(found)f(in)h([34].)31 b(Here)17 b(a)g(sketch)e(of)h(the)135
1235 y(proof)c(is)g(given.)19 b(The)12 b(notion)e(of)j(an)f(explicit)f
(search)h(history)m(,)g(called)g(the)g Fp(sear)n(ch)f(tr)n(ee)p
Fv(,)j(can)e(be)135 1292 y(found)e(in)f([16].)17 b(Theoretical)9
b(work)h(on)g(algorithms)f(re\256ning)h(this)f(search)i(tree)f(can)h
(be)f(found)g(in)135 1348 y([11,)h(31,)g(32,)h(34)o(].)206
1405 y(The)i(idea)g(is)h(to)f(insert)f(into)h(the)g(Alpha-Beta)g(code)h
(extra)g(operations)e(that)h(insert)f(triples)135 1461
y(into)j(a)h Fc(LIST)p Fv(.)h(In)f(\256gure)g(17)f(the)h
(list-operations)d(between)i Fw({*)g Fv(and)h Fw(*})g
Fv(are)g(inserted)f(to)g(show)135 1518 y(the)10 b(equivalence)g(of)h
(MT)l(-SSS*)g(and)f(Stockman')m(s)h(SSS*.)17 b(\(In)11
b(implementations)e(of)h(MT)l(-SSS*)135 1574 y(they)g(should)f(not)h
(be)g(included.\))15 b(The)c(call)f Fp(List-op)p Fv(\()p
Fp(i)p Fs(,)d Fp(n)p Fv(\))j(means)h(that)f(the)g(operations)f(of)h
Fu(G)i Fv(case)135 1630 y Fp(i)j Fv(in)g(\256gure)g(1)g(have)g(to)g(be)
g(executed)g(on)g Fc(LIST)p Fv(.)i(The)e(list)f(operations)f(in)i(MT)l
(-SSS*)h(cause)f(the)135 1687 y(same)f Fu(G)g Fv(operations)d(to)i(be)g
(applied)f(as)i(in)e(Stockman')m(s)i(original)d(formulation.)1444
1670 y Ft(6)1482 1687 y Fv(These)i(extra)135 1743 y(operations)c(cause)
h(exactly)f(the)h(same)h(triples)e(to)g(be)h(inserted)g(in)f(the)h
(same)h(order)f(as)g(SSS*)h(does)135 1800 y(for)g(its)g(OPEN)g(list.)
206 1856 y(In)k(accessing)f(storage,)i(most)e(Alpha-Beta)h
(implementations)e(descend)i(to)f(a)i(child)e(node)135
1913 y(and)c(retrieve)g(any)h(associated)e(bounds,)g(and)h(check)h
(whether)f(an)g(immediate)h(cutof)o(f)f(occurs.)16 b(In)135
1969 y(our)d(pseudo-code,)g(we)h(have)f(taken)g(a)h(slightly)d(dif)o
(ferent)i(approach.)23 b(MT)14 b(checks)f(whether)g(a)135
2026 y(child)e(bound)f(will)g(cause)i(a)g(cutof)o(f)f(before)h(calling)
f(itself)f(recursively)m(.)17 b(In)12 b(this)e(way)i(we)f(save)h(a)135
2082 y(recursive)g(call,)g(and)g(it)g(simpli\256es)f(the)h(formal)g
(treatment)g(in)g(this)e(appendix.)19 b(However)n(,)12
b(there)135 2139 y(is)e(no)g(conceptual)g(dif)o(ference;)h(other)f
(Alpha-Beta)g(implementations)f(\(for)i(example,)g(\256gure)g(2\))135
2195 y(expand)g(the)g(same)g(nodes,)g(and)g(can)h(be)f(used)f(just)h
(as)g(well.)206 2251 y(In)f(this)f(appendix)f(we)j(will)e(be)h(less)f
(rigorous)g(in)g(some)i(places,)f(for)g(reasons)g(of)g(brevity)m(.)15
b(By)135 2308 y(following)c(the)j(MT)l(-SSS*)g(code)f(\(see)h
(\256gures)f(8)h(and)f(17\),)h(one)f(can)h(easily)f(get)g(a)g(feeling)g
(just)135 2364 y(how)e(and)g(where)g(MT)l(-SSS*)h(and)f(SSS*)h(are)g
(interrelated.)206 2421 y(In)d(studying)e(MT)l(-SSS*,)j(one)f(can)g
(distinguish)d(between)j(a)g Fp(new)h Fv(call)f(to)f(Alpha-Beta\()p
Fp(n)p Fs(,)g Fg(g)k Fo(\000)135 2477 y Fv(1)p Fs(,)c
Fg(g)e Fv(\))16 b(\(equivalent)f(to)g(MT\()p Fp(n)p Fs(,)8
b Fg(g)e Fv(\)\),)18 b(where)e(node)g Fp(n)f Fv(has)h(never)g(been)g
(searched)g(before,)h(and)f(a)p 135 2518 624 2 v 188
2545 a Fr(6)202 2561 y Fq(For)9 b(MT)m(-SSS*)f(to)h(traverse)g(the)f
(same)g(leaf)h(nodes)e(as)h(SSS*,)h(one)f(bound)f(should)h(be)g(stored)
g(at)h(interior)h(nodes.)135 2607 y(Storing)f(and)f(updating)f(two)i
(bounds)e(yields)h(an)h(algorithm)g(that)g(will)h(occasionally)c
(expand)h(a)i(few)g(nodes)e(less)h(than)135 2653 y(SSS*)g([33].)892
2803 y Fv(31)p eop
%%Page: 32 32
32 31 bop 135 325 a FA(/*)10 b(MT)n(:)g(storage)g(enhanced)h
(null-window)d(Alpha-Beta\()p Fl(n)p Fx(,)e Fk(g)15 b
Fm(\000)10 b FA(1)p Fx(,)d Fk(g)f FA(\).)477 b(*/)135
375 y(/*)10 b Fl(n)g FA(is)g(the)g(node)g(to)g(be)g(searched,)i
Fk(g)k Fm(\000)9 b FA(1)h(is)g(the)g Fk(a)j FA(parameter)n(,)f
Fk(g)17 b FA(is)10 b(the)g Fk(b)j FA(parameter)f(of)d(the)i(call.)54
b(*/)135 425 y(/*)10 b('Store')f(saves)j(search)f(bound)e(information)g
(in)g(memory;)i('retrieve')e(accesses)k(this)d(information.)15
b(*/)135 475 y Fy(function)10 b FA(MT\()p Fl(n)p Fx(,)d
Fk(g)f FA(\))12 b Fx(\256)f Fl(g)p FA(;)135 525 y Fy(if)f
Fl(n)g FA(is)g(a)h(leaf)f(node)g Fy(then)200 574 y FA(retrieve)g
Fl(n)p Fx(.\246)386 559 y Fn(\000)414 574 y Fx(,)d Fl(n)p
Fx(.\246)479 559 y Ft(+)497 574 y FA(;)j(/*)g(non-existing)e(bounds)h
(are)i Fx(\261)g(\245)f FA(*/)200 624 y Fy(if)f Fl(n)p
Fx(.\246)284 609 y Fn(\000)324 624 y FA(=)j Fm(\000)p
Fx(\245)e Fy(and)g Fl(n)p Fx(.\246)554 609 y Ft(+)584
624 y FA(=)i(+)p Fx(\245)e Fy(then)264 674 y({*)21 b
FA(List-op\(4)p Fx(,)6 b Fl(n)p FA(\);)j Fy(*})264 724
y Fl(g)i FA(:=)g(eval\()p Fl(n)p FA(\);)200 774 y Fy(else)g(if)e
Fl(n)p Fx(.\246)359 759 y Ft(+)389 774 y FA(=)j(+)p Fx(\245)e
Fy(then)h Fl(g)g FA(:=)h Fl(n)p Fx(.\246)701 759 y Fn(\000)739
774 y Fy(else)f Fl(g)g FA(:=)h Fl(n)p Fx(.\246)942 759
y Ft(+)960 774 y FA(;)135 823 y Fy(else)f(if)f Fl(n)g
FA(is)g(a)h(max)g(node)f Fy(then)200 873 y Fl(g)h FA(:=)g
Fm(\000)p Fx(\245)p FA(;)200 923 y Fl(c)h FA(:=)e(\256rstchild\()p
Fl(n)p FA(\);)200 973 y Fy({*)20 b FA(retrieve)11 b Fl(n)p
Fx(.\246)444 958 y Fn(\000)471 973 y Fx(,)d Fl(n)p Fx(.\246)537
958 y Ft(+)555 973 y FA(;)i Fy(if)g Fl(n)p Fx(.\246)662
958 y Ft(+)691 973 y FA(=)i(+)p Fx(\245)f Fy(and)f Fl(n)p
Fx(.\246)913 958 y Fn(\000)952 973 y FA(=)i Fm(\000)p
Fx(\245)f Fy(then)f FA(List-op\(6)p Fx(,)c Fl(n)p FA(\);)k
Fy(*})200 1023 y FA(/*)f Fl(g)j Fx(\263)f Fk(g)16 b FA(causes)c(a)f
(beta)f(cutof)o(f)g(\()p Fk(b)k FA(=)e Fk(g)6 b FA(\))k(*/)200
1072 y Fy(while)g Fl(g)h(<)g Fk(g)17 b Fy(and)10 b Fl(c)i
Fm(6)p FA(=)g Fm(?)e Fy(do)264 1122 y FA(retrieve)g Fl(c)p
Fx(.\246)447 1107 y Ft(+)466 1122 y FA(;)264 1172 y Fy(if)g
Fl(c)p Fx(.\246)346 1157 y Ft(+)376 1172 y Fx(\263)h
Fk(g)17 b Fy(then)329 1222 y Fl(g)p Fx(\242)11 b FA(:=)g(MT\()p
Fl(c)p Fx(,)c Fk(g)f FA(\);)329 1272 y Fy({*)k(if)g Fl(g)p
Fx(\242)i(\263)f Fk(g)16 b Fy(then)11 b FA(List-op\(1)p
Fx(,)6 b Fl(c)p FA(\);)k Fy(*})264 1322 y(else)h Fl(g)p
Fx(\242)h FA(:=)f Fl(c)p Fx(.\246)473 1307 y Ft(+)492
1322 y FA(;)264 1371 y Fl(g)g FA(:=)g(max\()p Fl(g)p
Fx(,)c Fl(g)p Fx(\242)p FA(\);)264 1421 y Fl(c)12 b FA(:=)e
(nextbrother\()p Fl(c)p FA(\);)135 1471 y Fy(else)h(if)f
Fl(n)g FA(is)g(a)h(min)f(node)g Fy(then)200 1521 y Fl(g)h
FA(:=)g(+)p Fx(\245)p FA(;)200 1571 y Fl(c)h FA(:=)e(\256rstchild\()p
Fl(n)p FA(\);)200 1620 y Fy({*)20 b FA(retrieve)11 b
Fl(n)p Fx(.\246)444 1605 y Fn(\000)471 1620 y Fx(,)d
Fl(n)p Fx(.\246)537 1605 y Ft(+)555 1620 y FA(;)i Fy(if)g
Fl(n)p Fx(.\246)662 1605 y Ft(+)691 1620 y FA(=)i(+)p
Fx(\245)f Fy(and)f Fl(n)p Fx(.\246)913 1605 y Fn(\000)952
1620 y FA(=)i Fm(\000)p Fx(\245)f Fy(then)f FA(List-op\(5)p
Fx(,)c Fl(n)p FA(\);)k Fy(*})200 1670 y FA(/*)f Fl(g)j(<)f
Fk(g)17 b FA(causes)11 b(an)g(alpha)f(cutof)o(f)g(\()p
Fk(a)k FA(=)e Fk(g)j Fm(\000)10 b FA(1\))g(*/)200 1720
y Fy(while)g Fl(g)h Fx(\263)g Fk(g)16 b Fy(and)11 b Fl(c)h
Fm(6)p FA(=)g Fm(?)d Fy(do)264 1770 y FA(retrieve)h Fl(c)p
Fx(.\246)447 1755 y Fn(\000)476 1770 y FA(;)264 1820
y Fy(if)g Fl(c)p Fx(.\246)346 1805 y Fn(\000)386 1820
y Fl(<)h Fk(g)17 b Fy(then)329 1870 y Fl(g)p Fx(\242)11
b FA(:=)g(MT\()p Fl(c)p Fx(,)c Fk(g)f FA(\);)329 1919
y Fy({*)k(if)g Fl(g)p Fx(\242)i(\263)f Fk(g)16 b Fy(then)393
1969 y(if)10 b Fl(c)i(<)e FA(lastchild\()p Fl(n)p FA(\))f
Fy(then)i FA(List-op\(2)p Fx(,)5 b Fl(c)p FA(\);)11 b
Fy(else)g FA(List-op\(3)p Fx(,)5 b Fl(c)p FA(\);)11 b
Fy(*})264 2019 y(else)g Fl(g)p Fx(\242)h FA(:=)f Fl(c)p
Fx(.\246)473 2004 y Fn(\000)502 2019 y FA(;)264 2069
y Fl(g)g FA(:=)h(min\()p Fl(g)p Fx(,)6 b Fl(g)p Fx(\242)p
FA(\))264 2119 y Fl(c)12 b FA(:=)e(nextbrother\()p Fl(c)p
FA(\);)135 2168 y(/*)g(Store)g(one)g(bound)f(per)i(node.)k(*/)135
2218 y Fy(if)10 b Fl(g)h Fx(\263)g Fk(g)17 b Fy(then)10
b Fl(n)p Fx(.\246)404 2203 y Fn(\000)444 2218 y FA(:=)h
Fl(g)p FA(;)f(store)g Fl(n)p Fx(.\246)673 2203 y Fn(\000)701
2218 y FA(;)267 2268 y Fy(else)h Fl(n)p Fx(.\246)391
2253 y Ft(+)420 2268 y FA(:=)h Fl(g)p FA(;)d(store)i
Fl(n)p Fx(.\246)650 2253 y Ft(+)668 2268 y FA(;)135 2318
y Fy(r)o(eturn)h Fl(g)p FA(;)241 2515 y Fv(Figure)f(17:)k(Null-window)9
b(Alpha-Beta)i(Including)f(Storage)h(for)g(Search)h(Results)892
2803 y(32)p eop
%%Page: 33 33
33 32 bop 135 81 a Fv(call)11 b(where)h Fp(n)f Fv(has)g(been)h
(searched)f(before.)18 b(In)11 b(the)g(latter)g(case,)i(MT)e(has)h
(previously)d(created)j(a)135 138 y(\252trail\272)h(of)g(bounds,)g
(forming)g(a)h(max)f(solution)e(tree)j(below)f Fp(n)p
Fv(,)h(as)f(we)h(saw)f(in)g(the)g(example)g(of)135 194
y(section)d(2.1.)206 251 y(All)h(but)h(the)f(last)h(top-level)f(call)h
(to)g(MT)g(fails)g(low)g(and)g(builds)e(a)j(max)f(solution)e(tree.)20
b(The)135 307 y(last)9 b(call)h(to)f(MT,)i(which)e(stops)g(the)g
(search,)i(fails)e(high)g(and)h(builds)e(a)j(min)e(solution)f(tree.)16
b(These)135 363 y(two)11 b(cases)g(are)h(used)e(in)h(the)g(following)e
(pre-conditions.)206 420 y(Notation:)14 b Fp(T)r Fv(\()p
Fp(n)p Fv(\))e(is)g(a)f(solution)f(tree)h(rooted)g(at)h(node)f
Fp(n)p Fv(,)h Fp(T)1144 403 y Ft(+)1163 420 y Fv(\()p
Fp(n)p Fv(\))f(is)g(a)h(max)g(solution)e(tree)h(and)135
476 y Fp(T)162 460 y Fn(\000)190 476 y Fv(\()p Fp(n)p
Fv(\))h(a)g(min)g(solution)d(tree.)18 b(Sometimes)12
b(these)f(are)h(abbreviated)f(to)g Fp(T)r Fs(,)d Fp(T)1354
460 y Ft(+)1385 476 y Fv(and)j Fp(T)1489 460 y Fn(\000)1529
476 y Fv(when)g(the)135 533 y(meaning)g(is)f(clear)m(.)18
b(The)10 b(minimax)h(value)g(of)f(a)i(game)f(tree)g(rooted)g(at)g(node)
f Fp(n)h Fv(is)f(called)h Fs(\246)p Fv(\()p Fp(n)p Fv(\),)g(an)135
589 y(upper)f(bound)f(on)h(this)f(value)h(is)f(denoted)h
Fs(\246)830 573 y Ft(+)848 589 y Fv(\()p Fp(n)p Fv(\))g(and)g(a)h
(lower)f(bound)f(is)g(denoted)g(by)h Fs(\246)1527 573
y Fn(\000)1555 589 y Fv(\()p Fp(n)p Fv(\).)17 b(W)l(e)135
646 y(de\256ne)11 b Fp(g)h Fv(=)h Fs(\246)p Fv(\()p Fp(T)r
Fv(\()p Fp(n)p Fv(\)\).)k(An)10 b(entry)h(in)f Fc(LIST)i
Fv(consists)d(of)i(a)g(node,)g(state)f(and)h(merit)g(\(value\))g
Fo(h)p Fp(n)p Fs(,)c Fp(s)p Fs(,)h Fp(v)p Fo(i)p Fv(.)135
702 y(The)16 b(state)f(is)h(either)g Fp(live)f Fv(or)h
Fp(solved)p Fv(.)31 b(When)16 b(a)g(node)f(is)h(\256rst)g(visited,)g
(its)f(children)g(are)i(still)135 759 y(unexpanded.)e(It)d(is)e(said)h
(to)g(be)g Fp(open)p Fv(.)16 b(When)11 b(its)f(children)h(are)g
(generated,)h(it)e(is)h(called)g Fp(closed)p Fv(.)206
815 y(The)g(proof)f(refers)i(to)f(the)g(six)f Fu(G)i
Fv(operators)f(in)g(\256gure)g(1.)206 872 y(In)k(the)f(context)g(of)h
(MT)l(-SSS*,)i(we)e(can)g(identify)f(a)h(property)f(in)h(the)f(search)i
(tree)f(due)g(to)135 928 y(the)f(post-conditio)o(n)d(of)j(Alpha-Beta)f
(given)g(in)h(section)f(2.1.)24 b(In)14 b(the)f(\256rst)h(pass,)g(the)g
Fp(left-most)135 984 y(solution)h(tr)n(ee)i Fv(with)f(\256nite)h
Fp(g)p Fv(-value)g(is)f(constructed.)33 b(For)18 b(the)f(next)f
(passes,)i(the)f(following)135 1041 y(propositions)c(hold.)30
b(Each)16 b(follows)f(from)h(an)g(extended)g(version)f(of)h(the)f
(post-condition)e(of)135 1097 y(Alpha-Beta,)h(as)f(can)g(be)g(found)g
(in)f([11,)h(34],)h(and)f(the)g(fact)g(that)g(Alpha-Beta)f(is)h(called)
g(in)f(the)135 1154 y Fw(r)o(epeat-until)g Fv(loop)f(of)g(MT)l(-SSS*)h
(\(\256gure)f(8\).)192 1248 y(1.)23 b(Before)10 b(each)h(pass,)f(we)g
(have)g(in)g(the)f(search)i(tree)f(the)g(left-most)f(max)h(solution)e
(tree)i(with)249 1304 y Fs(\246)270 1288 y Ft(+)288 1304
y Fv(\()p Fp(n)p Fv(\))15 b(=)f Fp(g)p Fv(\()p Fp(T)461
1288 y Ft(+)480 1304 y Fv(\))h(=)f Fg(g)6 b Fv(,)14 b(where)f(the)g
(children)e Fp(c)j Fv(of)e(min)h(node)f Fp(n)h Fv(to)f(the)h(left)f(of)
h(the)f(current)249 1361 y(best)e(child)g(have)i(already)f(been)g
(searched)g(and)g(have)h Fs(\246)1141 1344 y Fn(\000)1168
1361 y Fv(\()p Fp(c)p Fv(\))h Fp(>)g Fg(g)6 b Fv(.)192
1454 y(2.)23 b(In)11 b(each)g(pass,)g(every)g(node)g
Fp(n)f Fv(in)h(the)g(search)g(tree)g(that)g(is)f(revisited)g(belongs)f
(to)i Fp(T)1573 1438 y Ft(+)1592 1454 y Fv(,)g(with)249
1511 y Fs(\246)270 1494 y Ft(+)288 1511 y Fv(-value)g(equal)h(to)f
Fg(g)6 b Fv(;)12 b(if)g Fp(n)f Fv(is)h(a)g(min)f(node,)h(children)f(to)
g(the)g(left)h(of)g(the)f(only)g(child)g(of)g Fp(n)249
1567 y Fv(in)f Fp(T)322 1551 y Ft(+)353 1567 y Fv(have)h
Fs(\246)471 1551 y Fn(\000)499 1567 y Fv(-value)f Fp(>)j
Fg(g)18 b Fv(and)11 b(will)f(never)h(be)g(revisited.)192
1661 y(3.)23 b(Each)14 b(nested)g(call)h(MT\()p Fp(n)p
Fs(,)8 b Fg(g)e Fv(\))15 b(generates)g(a)g(max)g(solution)d(tree)j
(when)f(the)h(search)g(fails)249 1718 y(low)m(,)8 b(where)h(the)f
(children)g(of)g(min)g(nodes)g(have)g(the)g(same)h(properties)f(as)g
(in)g(case)h(1)f(above.)135 1824 y Fw(Theor)o(em)k(A.1)23
b Fp(During)16 b(execution)g(of)g(MT)m(-SSS*,)i(the)f(following)e
(conditions)g(apply)h(to)g(the)135 1880 y(calls)10 b(List-op)p
Fv(\()p Fp(i)p Fs(,)d Fp(n)p Fv(\))k Fp(and)g(to)f(the)h(call)g(MT)p
Fv(\()p Fp(n)p Fs(,)d Fg(g)e Fv(\))p Fp(:)207 1974 y
Fs(\267)23 b Fp(pr)n(e-condition)9 b(of)i(List-op)p Fv(\()p
Fp(i)p Fs(,)6 b Fp(n)p Fv(\))p Fp(:)249 2030 y Fb(LIST)14
b Fp(includes)e(a)h(triple)f Fo(h)p Fp(n)p Fs(,)7 b Fp(state)p
Fs(,)g Fg(g)f Fo(i)p Fp(,)15 b(being)d(the)h(leftmost)f(triple)g(with)h
(maximal)f(merit;)249 2087 y(the)f(r)n(estrictions)d(in)j
Fu(G)h Fp(case)f(i)g(of)g(SSS*)f(ar)n(e)i(satis\256ed)d(for)i(this)f
(triple;)207 2181 y Fs(\267)23 b Fp(pr)n(e-condition)9
b(of)i(MT)p Fv(\()p Fp(n)p Fs(,)d Fg(g)e Fv(\))p Fp(:)249
2237 y(If)16 b(n)h(is)f(open,)i(then)e Fo(h)p Fp(n)p
Fs(,)7 b Fp(live)p Fs(,)h Fg(g)e Fo(i)17 b Fp(is)f(in)g
Fb(LIST)h Fp(and)f(n)h(is)f(the)g(leftmost)f(node)h(in)g
Fb(LIST)i Fp(with)249 2294 y(maximal)10 b(merit.)249
2350 y(If)f(n)g(is)f(not)g(open,)i(then)e(n)h(is)g(the)f(r)n(oot)h(of)f
(a)h(max)g(solution)e(tr)n(ee)i(T)1263 2334 y Ft(+)1291
2350 y Fp(with)g Fg(g)19 b Fv(=)12 b Fp(g)p Fv(\()p Fp(T)1518
2334 y Ft(+)1537 2350 y Fv(\))h(=)f Fs(\246)1624 2334
y Ft(+)1642 2350 y Fv(\()p Fp(n)p Fv(\))249 2407 y Fp(and)e(every)h
(leaf)f(x)h(of)f(T)620 2390 y Ft(+)649 2407 y Fp(has)g(status)f(=)h
Fv(solved)g Fp(and)f(merit)h(=)h Fs(\246)p Fv(\()p Fp(x)p
Fv(\))p Fp(.)17 b(One)10 b(of)g(the)g(leaves)h(of)249
2463 y(T)276 2447 y Ft(+)305 2463 y Fp(is)e(the)h(leftmost)f(node)g(in)
h Fb(LIST)h Fp(with)f(maximal)f(merit;)h(no)f(other)h(descendants)e(of)
i(n)g(ar)n(e)249 2519 y(included)g(in)g Fb(LIST)p Fp(.)207
2613 y Fs(\267)23 b Fp(post-condition)8 b(of)i(MT)p Fv(\()p
Fp(n)p Fs(,)e Fg(g)e Fv(\))p Fp(:)249 2670 y(If)13 b(the)f(r)n(eturn)h
(value)f(of)h(the)g(MT)g(call)g(<)i Fg(g)6 b Fp(,)14
b(then)f(n)g(is)f(the)h(r)n(oot)g(of)f(a)h(max)g(solution)e(tr)n(ee)892
2803 y Fv(33)p eop
%%Page: 34 34
34 33 bop 249 81 a Fp(with)12 b(the)g(r)n(eturn)g(value)h(of)f(the)g
(MT)h(call)f Fv(=)j Fp(g)p Fv(\()p Fp(T)1024 65 y Ft(+)1043
81 y Fv(\))f(=)h Fs(\246)1134 65 y Ft(+)1152 81 y Fv(\()p
Fp(n)p Fv(\))e Fp(and)f(every)h(leaf)f(x)i(of)e(T)1600
65 y Ft(+)1632 81 y Fp(has)249 138 y(status)d(=)h Fv(solved)g
Fp(and)g(merit)g Fv(=)i Fs(\246)p Fv(\()p Fp(x)p Fv(\))p
Fp(;)g(no)e(other)g(descendants)f(of)i(n)f(ar)n(e)h(included)f(in)g
Fb(LIST)p Fp(.)249 194 y(If)16 b(the)h(r)n(eturn)e(value)i(of)f(the)g
(MT)h(call)f Fs(\263)k Fg(g)6 b Fp(,)19 b(then)d Fo(h)p
Fp(n)p Fs(,)8 b Fp(solved)o Fs(,)g Fg(g)e Fo(i)17 b Fp(is)f(in)g
Fb(LIST)p Fp(;)i(no)e(other)249 251 y(descendants)9 b(of)i(n)g(ar)n(e)g
(included)f(in)h Fb(LIST)p Fp(.)135 357 y Fw(Pr)o(oof)135
413 y Fv(For)h(the)g(MT)h(pre-)f(and)g(post-condition,)d(we)k(give)e(a)
i(proof)e(by)h(induction.)17 b(The)12 b(pre-condition)135
470 y(of)j(List-op)f(is)h(proved)f(as)i(a)f(side-ef)o(fect,)i(yielding)
c(the)i(basis)f(for)i(the)f(equivalence)f(proof)h(of)135
526 y(MT)l(-SSS*)d(and)f(SSS*.)135 583 y Fw(Pr)o(econdition)h(of)f(MT)p
Fv(\()p Fp(n)p Fs(,)d Fg(g)e Fv(\))135 639 y(At)19 b(the)g(start)f(of)h
(the)g(\256rst)g(MT)h(call)f(\(on)f(an)i(open)e(node)h
Fp(n)p Fv(,)i(the)e(root\),)i(the)e(pre-condition)135
696 y(holds.)k(Assume)13 b(the)h(pre-condition)e(holds)g(for)i(a)g
(call)g(MT\()p Fp(n)p Fs(,)8 b Fg(g)e Fv(\))14 b(with)f
Fp(n)h Fv(an)g(open)f(node.)24 b(By)135 752 y(assumption,)9
b Fo(h)p Fp(n)p Fs(,)f Fp(live)o Fs(,)g Fp(g)p Fo(i)i
Fv(is)g(in)g Fc(LIST)i Fv(and)e Fp(n)g Fv(is)g(the)g(leftmost)g(node)g
(in)g Fc(LIST)i Fv(with)d(maximal)i(merit.)206 808 y(First)j(consider)h
(node)f Fp(n)i Fv(being)e(a)h(max)h(node.)28 b(The)15
b(restrictions)f(of)h Fu(G)h Fv(case)g(6)f(hold,)g(and)135
865 y Fp(List-op)p Fv(\(6)p Fs(,)7 b Fp(n)p Fv(\))j(replaces)g(the)g
(triple)f(including)f Fp(n)i Fv(by)g(a)h(series)e(of)h(triples,)g(each)
h(including)d(a)i(child)135 921 y(of)k Fp(n)p Fv(.)23
b(A)13 b(child)g Fp(c)h Fv(is)f(expanded)f(by)i(MT,)g(if)f(the)g
(subcalls)f(to)h(brothers)g Fp(b)g Fv(to)g(the)h(left)f(of)g
Fp(c)h Fv(have)135 978 y(resulted)d(in)h Fg(g)21 b Fp(>)13
b(g)p Fs(\242)p Fv(.)20 b(By)13 b(the)f(induction)e(hypothesis,)g
(after)j(each)g(call,)f Fp(b)h Fv(is)e(the)h(root)g(of)g(a)h(max)135
1034 y(solution)d(tree)j Fp(T)r Fs(\242)h Fv(and)e(each)i(leaf)f
Fp(x)g Fv(has)f(merit)h Fs(\246)p Fv(\()p Fp(x)p Fv(\).)22
b(Since)13 b Fp(g)p Fv(\()p Fp(T)r Fs(\242)p Fv(\()p
Fp(b)p Fv(\)\))i(=)f Fp(g)p Fs(\242)h Fp(<)g Fg(g)6 b
Fv(,)14 b(each)f(of)g(these)135 1091 y(merits)g(is)g
Fp(<)i Fg(g)6 b Fv(.)23 b(It)14 b(follows)d(that)i(when)g
Fp(c)g Fv(has)h(been)f(expanded)f(by)h(MT,)h Fo(h)p Fp(c)p
Fs(,)8 b Fp(live)p Fs(,)g Fg(g)e Fo(i)13 b Fv(is)g(still)f(in)135
1147 y Fc(LIST)h Fv(and)e Fp(c)g Fv(is)g(the)g(leftmost)g(node)f(with)h
(maximal)g(merit.)17 b(Hence)12 b(the)f(pre-condition)e(holds)h(for)135
1204 y Fp(c)p Fv(.)206 1260 y(Second,)j(consider)f(node)g
Fp(n)h Fv(being)f(a)h(min)f(node.)21 b(The)13 b(restrictions)e(of)h
Fu(G)i Fv(case)f(5)g(hold)e(and)135 1317 y Fp(List-op)p
Fv(\(5)p Fs(,)c Fp(n)p Fv(\))k(causes)h(the)f(pre-condition)f(to)i(be)f
(met)h(for)g(the)g(left-most)f(child)g Fp(c)h Fv(of)g
Fp(n)p Fv(.)18 b(As)11 b(long)135 1373 y(as)g(each)h(subcall)e(ends)h
(with)f Fp(g)p Fs(\242)i(\263)h Fg(g)6 b Fv(,)12 b(the)f
Fw(while)g Fv(loop)f(in)h(\256gure)g(17)g(is)g(continued.)k(Before)d
(each)135 1429 y(subcall,)e(a)g(triple)g Fo(h)p Fp(c)p
Fs(,)e Fp(live)p Fs(,)f Fg(g)f Fo(i)11 b Fv(is)f(in)g
Fc(LIST)p Fv(.)i(After)e(the)g(subcall,)g(the)g(status)f(of)h(this)f
(triple)h(is)f Fp(solved)p Fv(.)135 1486 y(For)14 b(this)g(triple,)g
(the)g(left-most)f(one)h(with)g(highest)e(merit,)k Fu(G)f
Fv(case)f(2)g(applies)f(and)h(the)g(related)135 1542
y(operation)d(replaces)h(this)f(triple)h(by)f Fo(h)p
Fp(next)p Fv(\()p Fp(c)p Fv(\),)i Fp(live)p Fv(,)g Fg(g)6
b Fo(i)p Fv(.)20 b(W)l(e)12 b(conclude)g(that)f(the)h(pre-condition)135
1599 y(also)f(holds)e(for)j(the)f(next)f(children.)206
1655 y(Now)f(we)g(treat)h(the)f(case)h(where)f Fp(n)h
Fv(is)f(a)g(closed)g(node.)16 b(The)9 b(pre-condition)f(of)h(MT)h
(holds)e(for)135 1712 y(the)h(root)g Fp(n)h Fv(in)f(the)h(subsequent)d
(passes)i(of)h(MT)l(-SSS*)h(as)e(a)h(consequence)f(of)h(the)f
(post-condition)135 1768 y(of)i(the)g(preceding)g(MT)g(call.)206
1825 y(Assume)d(the)g(pre-condition)f(holds)g(for)h(an)h(inner)f(node)g
Fp(n)p Fv(.)16 b(If)9 b Fp(n)f Fv(is)g(a)h(max)g(node,)g(then)f
Fp(n)g Fv(is)g(the)135 1881 y(root)i(of)h(a)g(max)h(solution)c(tree)j
Fp(T)652 1865 y Ft(+)682 1881 y Fv(with)f Fs(\246)795
1865 y Ft(+)813 1881 y Fv(\()p Fp(n)p Fv(\))j(=)f Fp(g)p
Fv(\()p Fp(T)982 1865 y Ft(+)1001 1881 y Fv(\))g(=)h
Fg(g)k Fv(and)11 b(every)g(leaf)g Fp(x)g Fv(has)g Fs(\246)p
Fv(\()p Fp(x)p Fv(\))i Fs(\243)f(\246)1612 1865 y Ft(+)1631
1881 y Fv(\()p Fp(n)p Fv(\).)135 1938 y(When)g(a)g(child)g
Fp(c)g Fv(is)g(expanded)f(by)h(MT,)h Fs(\246)824 1921
y Ft(+)842 1938 y Fv(\()p Fp(c)p Fv(\))h(=)g Fg(g)6 b
Fv(,)13 b(and)f(every)h(brother)e Fp(b)h Fv(to)g(the)g(left)g(of)g
Fp(c)g Fv(has)135 1994 y Fs(\246)156 1977 y Ft(+)174
1994 y Fv(\()p Fp(b)p Fv(\))h Fp(<)g Fg(g)6 b Fv(.)18
b(Therefore,)13 b Fp(c)f Fv(is)f(an)g(ancestor)h(of)f(the)g(left-most)g
(node)g(in)g Fc(LIST)i Fv(with)e(highest)f(merit.)135
2050 y(If)i Fp(n)f Fv(is)f(a)i(min)f(node,)g(the)g(only)f(child)g
Fp(c)i Fv(of)f Fp(n)g Fv(in)g Fp(T)927 2034 y Ft(+)957
2050 y Fv(is)f(the)h(left-most)g(child)f(that)g(is)h(expanded)g(by)135
2107 y(MT.)i(The)e(pre-condition)f(for)i(this)f(child)g
Fp(c)h Fv(follows)f(immediately)g(from)i(the)e(pre-condition)f(of)135
2163 y Fp(n)p Fv(.)17 b Fa(2)135 2220 y Fw(Postcondition)11
b(of)g(MT)135 2276 y Fv(The)e(assumption)f(is)h(made)i(that)e(every)g
(subcall)g(to)g(MT)h(satis\256es)f(the)g(post-condition.)k(W)l(e)d
(have)135 2333 y(three)i(situations.)j(First,)d(consider)e
Fp(n)i Fv(as)g(a)g(leaf)g(node.)17 b(The)12 b(call)f
Fp(List-op)p Fv(\(4)p Fs(,)c Fp(n)p Fv(\))k(conforms)h(to)f(its)135
2389 y(pre-condition.)17 b(On)11 b(exit,)h(either)g Fp(n)f
Fv(is)h(in)f Fc(LIST)i Fv(with)e(status)g Fp(solved)g
Fv(and)h Fp(merit)f Fv(=)i Fs(\246)p Fv(\()p Fp(n)p Fv(\))g(=)h
Fp(g)f(<)g Fg(g)6 b Fv(,)135 2446 y(or)11 b Fp(merit)g
Fv(=)h Fg(g)19 b Fs(\243)12 b(\246)p Fv(\()p Fp(n)p Fv(\))h(=)f
Fp(g)p Fv(.)17 b(In)11 b(both)f(cases,)i(the)f(post-conditio)o(n)e
(holds.)206 2502 y(Second,)k(assume)g Fp(n)f Fv(is)g(an)h(inner)f(max)h
(node)g(with)e(children)h Fp(c)p Fv(.)21 b(If)13 b(every)g(call)g(to)f
(MT\()p Fp(c)p Fs(,)c Fg(g)e Fv(\))135 2559 y(with)13
b(return)i(value)f Fp(g)p Fs(\242)h Fv(ends)f(with)f
Fp(g)p Fs(\242)k Fp(<)g Fg(g)6 b Fv(,)17 b(then)d Fp(g)i(<)h
Fg(g)22 b Fv(on)14 b(exit)g(and)g Fp(n)g Fv(is)g(the)h(root)e(of)i(a)g
(tree)135 2615 y Fp(T)162 2598 y Ft(+)181 2615 y Fv(\()p
Fp(n)p Fv(\).)21 b(Since)13 b(the)g(leaves)f(of)h Fp(T)653
2598 y Ft(+)672 2615 y Fv(\()p Fp(c)p Fv(\))h(occur)e(in)h
Fc(LIST)h Fv(for)f(every)g Fp(c)p Fv(,)h(also)e(the)g(leaves)h(of)g
Fp(T)1565 2598 y Ft(+)1584 2615 y Fv(\()p Fp(n)p Fv(\))g(do)135
2671 y(so.)18 b(If)13 b(at)f(least)f(one)h(subcall)f(ends)g(with)g
Fp(g)p Fs(\242)j Fv(=)f Fg(g)6 b Fv(,)14 b(then)d(due)h(to)f(the)h
(operation)f Fp(List-op)p Fv(\(1)p Fs(,)6 b Fp(c)p Fv(\),)13
b(the)892 2803 y(34)p eop
%%Page: 35 35
35 34 bop 135 81 a Fv(post-condition)8 b(holds)i(for)h
Fp(n)p Fv(.)206 138 y(Third,)g(assume)h Fp(n)f Fv(is)g(an)h(inner)f
(min)h(node)f(with)g(children)g Fp(c)p Fv(.)18 b(If)12
b(at)g(least)f(one)g(call)h(MT\()p Fp(c)p Fs(,)c Fg(g)e
Fv(\))135 194 y(return)16 b(a)h(value)f Fp(g)p Fs(\242)g
Fv(with)f Fp(g)p Fs(\242)20 b Fp(<)g Fg(g)6 b Fv(,)18
b(then)e(by)g(the)g(induction)e(hypothesis)g(the)i(leaves)g(of)h
Fp(T)1626 178 y Ft(+)1645 194 y Fv(\()p Fp(c)p Fv(\))135
251 y(are)e(in)f Fc(LIST)p Fv(,)i(as)e(are)h(the)f(leaves)g(of)g
Fp(T)750 234 y Ft(+)769 251 y Fv(\()p Fp(n)p Fv(\).)26
b(If)14 b(all)g(MT-calls)g(end)g(with)g Fp(g)p Fs(\242)i(\263)h
Fg(g)6 b Fv(,)16 b(then)e(after)h(all)135 307 y(children)d(have)h(been)
g(searched,)h Fo(h)p Fp(last)p Fv(\()p Fp(n)p Fv(\),)e
Fp(solved)p Fv(,)h Fg(g)6 b Fo(i)14 b Fv(is)e(in)h Fc(LIST)p
Fv(.)h(Due)f(to)g Fp(List-op)p Fv(\(3)p Fs(,)f Fp(last)p
Fv(\()p Fp(n)p Fv(\)\),)135 363 y(the)f(post-condition)d(of)j(MT)h
(holds.)j Fa(2)135 470 y Fw(Theor)o(em)d(A.2)23 b Fp(MT)m(-SSS*)10
b(is)h(equivalent)f(to)h(SSS*.)135 576 y Fw(Pr)o(oof)135
632 y Fv(Each)i(list)f(operation)f(is)i(always)f(applied)g(to)g(the)h
(left-most)f(node)h(in)f Fc(LIST)i Fv(with)e(highest)g(merit.)135
689 y(So)i(the)f(operations)f(performed)i(on)f Fc(LIST)i
Fv(conform)e(with)g(those)f(of)i(SSS*.)24 b(The)14 b(notion)d
Fp(live)j Fv(is)135 745 y(equivalent)e(to)h Fp(open)h
Fv(in)f(SSS*.)24 b(Expanding)12 b(in)h(SSS*)i(is)e(performed)h(by)f
Fu(G)h Fv(case)g(4,)h(5,)f(and)g(6.)135 802 y(The)e(MT)l(-code)h(shows)
e(that)g(expanding)g(an)h(open)g(node)g(coincides)f(with)g(a)i(call)f
(to)g(list-op)e(4,)j(5)135 858 y(or)e(6.)17 b(W)l(e)12
b(conclude)e(that)h(MT)l(-SSS*)h(and)f(SSS*)g(expand)g(open)g(nodes)f
(in)h(the)g(same)h(order)m(.)17 b Fa(2)135 986 y Fw(B)46
b(Non-dominance)11 b(of)h(Iterative)f(Deepening)h(SSS*)135
1053 y Fv(This)e(appendix)g(presents)g(an)h(example)g(to)f(prove)h
(that)f(SSS*)i(with)e(dynamic)h(move)g(reordering)135
1109 y(does)j(not)f(dominate)h(Alpha-Beta.)26 b(Iterative)13
b(deepening)h(and)g(move)g(reordering)g(are)h(part)f(of)135
1166 y(all)d(state-of-the-art)g(game-playing)g(programs.)17
b(While)11 b(building)e(a)j(tree)g(to)f(depth)f Fp(d)q
Fv(,)i(a)g(node)f Fp(n)135 1222 y Fv(might)i(consider)f(the)i(moves)f
(in)g(the)g(order)h(1)p Fs(,)8 b Fv(2)p Fs(,)f Fv(3)p
Fs(,)h(\274,)f Fp(w)p Fv(.)24 b(Assume)14 b(move)f(3)h(causes)f(a)h
(cutof)o(f.)135 1278 y(When)7 b(the)h(tree)f(is)h(re-searched)g(to)f
(depth)g Fp(d)s Fv(+)r(1,)h(the)f(transposition)e(table)i(can)g
(retrieve)h(the)f(results)135 1335 y(of)14 b(the)g(previous)g(search.)
26 b(Since)15 b(move)f(3)g(was)h(successful)e(at)h(causing)g(a)g(cutof)
o(f)h(previously)m(,)135 1391 y(albeit)c(for)g(a)h(shallower)f(search)h
(depth,)f(there)g(is)g(a)h(high)f(probability)e(it)i(will)g(also)g
(work)g(for)g(the)135 1448 y(current)f(depth.)16 b(Now)10
b(move)g(3)h(will)e(be)i(considered)e(\256rst)h(and,)h(if)g(it)e(fails)
h(to)g(cause)h(a)g(cutof)o(f,)f(the)135 1504 y(remaining)h(moves)g
(will)f(be)i(considered)e(in)h(the)g(order)h(1)p Fs(,)c
Fv(2)p Fs(,)f Fv(4)p Fs(,)h(\274,)f Fp(w)12 b Fv(\(depending)e(on)h
(any)h(other)135 1561 y(move)h(ordering)e(enhancements)i(used\).)20
b(The)12 b(result)g(is)g(that)g(prior)g(history)f(is)h(used)g(to)g
Fp(change)135 1617 y Fv(the)f(order)g(in)g(which)f(moves)h(are)h
(considered.)206 1674 y(Any)18 b(form)i(of)f(move)h(ordering)e
(violates)g(the)h(implicit)f(preconditions)f(of)i(Stockman')m(s)135
1730 y(proof.)g(In)13 b(expanding)d(more)j(nodes)f(than)f(SSS*)i(in)f
(a)h(previous)d(iteration,)i(Alpha-Beta)g(stores)135
1787 y(more)f(information)e(in)h(the)g(transposition)d(table)j(which)g
(may)h(later)f(be)g(useful.)16 b(In)10 b(a)h(subsequent)135
1843 y(iteration,)21 b(SSS*)g(may)g(have)f(to)g(consider)f(a)h(node)g
(for)g(which)g(it)f(has)h(no)g(move)g(ordering)135 1899
y(information)12 b(whereas)g(Alpha-Beta)h(does.)20 b(Thus,)13
b(Alpha-Beta')m(s)g(inef)o(\256ciency)f(in)g(a)h(previous)135
1956 y(iteration)k(can)i(actually)e(bene\256t)h(it)g(later)g(in)g(the)g
(search.)38 b(W)n(ith)18 b(iterative)f(deepening,)j(it)e(is)135
2012 y(possible)9 b(for)j(Alpha-Beta)f(to)f(expand)h
Fp(fewer)h Fv(leaf)f(nodes)f(than)h(SSS*.)206 2069 y(When)j(used)h
(with)e(iterative)h(deepening,)i(SSS*)f(does)f(not)h(dominate)f
(Alpha-Beta.)27 b(Fig-)135 2125 y(ures)12 b(18)g(and)g(19)g(prove)g
(this)f(point.)19 b(In)12 b(the)g(\256gures,)h(the)f(smaller)g(depth-2)
f(search)i(tree)f(causes)135 2182 y(SSS*)f(to)e(miss)g(information)g
(that)g(would)g(be)h(useful)f(for)h(the)g(search)g(of)g(the)f(lar)o
(ger)i(depth-3)d(tree.)135 2238 y(It)i(searches)f(a)h(dif)o(ferently)f
(ordered)h(depth-3)f(tree)h(and,)g(in)f(this)f(case,)j(misses)e(the)g
(cutof)o(f)h(at)g(node)135 2295 y Fp(o)f Fv(found)f(by)h(Alpha-Beta.)15
b(If)10 b(the)e(branching)g(factor)h(at)g(node)g Fp(d)h
Fv(is)e(increased,)i(the)f(improvement)135 2351 y(of)i(Alpha-Beta)g
(over)g(SSS*)h(can)g(be)f(made)h(arbitrarily)e(lar)o(ge.)206
2408 y(That)e(SSS*')m(s)j(dominance)e(proof)f(does)h(not)g(hold)f(for)h
(dynamically)g(ordered)g(trees)g(does)g(not)135 2464
y(mean)k(that)e(Alpha-Beta)h(is)g(structurally)e(better)m(.)20
b(If)13 b(SSS*)g(expands)e(more)i(nodes)e(for)i(depth)e
Fp(d)q Fv(,)135 2520 y(it)e(will)g(probably)g(have)h(more)h
(information)d(for)i(the)g(next)g(depth,)f(and)h(it)g(may)g(well)f
(out-perform)135 2577 y(Alpha-Beta)15 b(again)f(at)h(depth)f
Fp(d)f Fv(+)e(1.)28 b(All)14 b(it)g(means)h(is)g(that)f(under)h
(dynamic)f(reordering)g(the)135 2633 y(theoretical)c(superiority)g(of)h
(SSS*)h(over)f(Alpha-Beta)g(does)f(not)h(apply)m(.)892
2803 y(35)p eop
%%Page: 36 36
36 35 bop 160 174 a FA(Alpha-Beta)10 b(Depth)f(2)50 b(After)10
b(Re-ordering)274 b(Alpha-Beta)10 b(Depth)g(3)275 224
y(8)27 b(a)p 305 243 2 53 v 307 193 53 2 v 305 245 V
358 245 2 53 v 195 340 a(3)h(b)255 334 y Fi(m)206 456
y FA(d)p 190 476 V 192 425 53 2 v 189 478 V 242 478 2
53 v 206 515 a(4)225 424 y Fh(\002)232 403 y(\002)18
b(B)271 424 y(B)284 456 y FA(e)p 266 476 V 268 425 53
2 v 267 478 V 320 478 2 53 v 282 515 a(3)271 310 y Fh(\012)287
286 y(\012)35 b(J)366 310 y(J)401 340 y FA(c)30 b(8)410
334 y Fi(m)364 456 y FA(f)p 344 476 V 346 425 53 2 v
344 478 V 397 478 2 53 v 361 515 a(8)380 424 y Fh(\002)387
403 y(\002)18 b(B)426 424 y(B)438 456 y FA(g)p 422 476
V 424 425 53 2 v 422 478 V 475 478 2 53 v 438 515 a(9)641
224 y(8)27 b(a)p 671 243 V 673 193 53 2 v 672 245 V 725
245 2 53 v 561 340 a(8)j(c)621 334 y Fi(m)575 456 y FA(f)p
555 476 V 557 425 53 2 v 555 478 V 608 478 2 53 v 572
515 a(8)591 424 y Fh(\002)598 403 y(\002)18 b(B)637 424
y(B)649 456 y FA(g)p 633 476 V 635 425 53 2 v 633 478
V 686 478 2 53 v 649 515 a(9)637 310 y Fh(\012)653 286
y(\012)35 b(J)732 310 y(J)766 340 y FA(b)28 b(3)776 334
y Fi(m)728 456 y FA(e)p 710 476 V 712 425 53 2 v 710
478 V 763 478 2 53 v 726 515 a(3)746 424 y Fh(\002)753
403 y(\002)18 b(B)792 424 y(B)804 456 y FA(d)p 788 476
V 790 425 53 2 v 788 478 V 841 478 2 53 v 804 515 a(4)1183
224 y(3)27 b(a)p 1213 243 V 1215 193 53 2 v 1213 245
V 1266 245 2 53 v 1005 340 a(2)j(c)1065 334 y Fi(m)921
456 y FA(9)f(f)p 951 476 V 953 425 53 2 v 951 478 V 1004
478 2 53 v 921 573 a(h)932 567 y Fi(m)921 631 y FA(9)943
540 y Fh(\014)951 518 y(\014)21 b(L)997 540 y(L)1019
573 y FA(i)1025 567 y Fi(m)1015 631 y FA(1)998 424 y
Fh(\023)1017 399 y(\023)35 b(S)1102 424 y(S)1095 456
y FA(2)26 b(g)p 1126 476 V 1128 425 53 2 v 1126 478 V
1179 478 2 53 v 1100 573 a(j)1106 567 y Fi(m)1096 631
y FA(1)1117 540 y Fh(\014)1126 518 y(\014)20 b(L)1172
540 y(L)1189 573 y FA(k)1200 567 y Fi(m)1189 631 y FA(2)1090
318 y Fh(\021)1131 291 y(\021)1172 263 y(\021)52 b(Q)1308
291 y(Q)1349 318 y(Q)1404 340 y FA(b)29 b(3)1414 334
y Fi(m)1270 456 y FA(3)e(e)p 1300 476 V 1302 425 53 2
v 1300 478 V 1353 478 2 53 v 1275 573 a(l)1281 567 y
Fi(m)1271 631 y FA(3)1291 540 y Fh(\014)1300 518 y(\014)20
b(L)1346 540 y(L)1357 573 y FA(m)1373 567 y Fi(m)1362
631 y FA(2)1347 424 y Fh(\023)1366 399 y(\023)35 b(S)1451
424 y(S)1491 456 y FA(d)26 b(4,)10 b(cutof)o(f)p 1474
476 V 1476 425 53 2 v 1474 478 V 1527 478 2 53 v 1445
573 a(n)1456 567 y Fi(m)1445 631 y FA(4)1466 540 y Fh(\014)1474
518 y(\014)522 772 y Fv(Figure)h(18:)16 b(Iterative)11
b(Deepening)f(Alpha-Beta)219 963 y FA(SSS*)h(Depth)f(2)126
b(After)10 b(Re-ordering)312 b(SSS*)11 b(Depth)f(3)323
1013 y(8)27 b(a)p 353 1032 V 355 982 53 2 v 354 1034
V 407 1034 2 53 v 190 1129 a Fx(\246)209 1114 y Ft(+)239
1129 y FA(=)12 b(4)29 b(b)335 1123 y Fi(m)285 1245 y
FA(d)p 269 1265 V 271 1214 53 2 v 268 1266 V 321 1266
2 53 v 285 1303 a(4)305 1213 y Fh(\002)312 1192 y(\002)345
1096 y(\014)353 1075 y(\014)20 b(L)400 1096 y(L)418 1129
y FA(c)30 b(8)427 1123 y Fi(m)381 1245 y FA(f)p 361 1265
V 363 1214 53 2 v 361 1266 V 414 1266 2 53 v 378 1303
a(8)397 1213 y Fh(\002)404 1192 y(\002)18 b(B)443 1213
y(B)455 1245 y FA(g)p 439 1265 V 441 1214 53 2 v 439
1266 V 492 1266 2 53 v 455 1303 a(9)637 1013 y(8)27 b(a)p
667 1032 V 669 982 53 2 v 668 1034 V 721 1034 2 53 v
608 1129 a(c)j(8)617 1123 y Fi(m)571 1245 y FA(f)p 551
1265 V 553 1214 53 2 v 551 1266 V 604 1266 2 53 v 568
1303 a(8)587 1213 y Fh(\002)594 1192 y(\002)18 b(B)633
1213 y(B)645 1245 y FA(g)p 629 1265 V 631 1214 53 2 v
629 1266 V 682 1266 2 53 v 645 1303 a(9)633 1099 y Fh(\012)649
1075 y(\012)35 b(J)728 1099 y(J)762 1129 y FA(b)28 b
Fx(\246)830 1114 y Ft(+)860 1129 y FA(=)12 b(4)772 1123
y Fi(m)723 1245 y FA(d)p 707 1265 V 709 1214 53 2 v 706
1266 V 759 1266 2 53 v 723 1303 a(4)742 1213 y Fh(\002)749
1192 y(\002)1256 1013 y FA(3)27 b(a)p 1286 1032 V 1288
982 53 2 v 1286 1034 V 1339 1034 2 53 v 1079 1129 a(2)i(c)1138
1123 y Fi(m)994 1245 y FA(9)h(f)p 1025 1265 V 1027 1214
53 2 v 1025 1266 V 1078 1266 2 53 v 995 1362 a(h)1006
1356 y Fi(m)995 1420 y FA(9)1016 1329 y Fh(\014)1025
1307 y(\014)21 b(L)1071 1329 y(L)1092 1362 y FA(i)1098
1356 y Fi(m)1088 1420 y FA(1)1071 1213 y Fh(\023)1090
1188 y(\023)35 b(S)1175 1213 y(S)1169 1245 y FA(2)26
b(g)p 1200 1265 V 1202 1214 53 2 v 1199 1266 V 1252 1266
2 53 v 1174 1362 a(j)1180 1356 y Fi(m)1170 1420 y FA(1)1190
1329 y Fh(\014)1200 1307 y(\014)20 b(L)1245 1329 y(L)1262
1362 y FA(k)1273 1356 y Fi(m)1262 1420 y FA(2)1163 1107
y Fh(\021)1204 1079 y(\021)1245 1052 y(\021)52 b(Q)1381
1080 y(Q)1422 1107 y(Q)1477 1129 y FA(b)29 b(3)1487 1123
y Fi(m)1343 1245 y FA(5)d(d)p 1374 1265 V 1376 1214 53
2 v 1373 1266 V 1426 1266 2 53 v 1343 1362 a(n)1354 1356
y Fi(m)1343 1420 y FA(4)1365 1329 y Fh(\014)1374 1307
y(\014)20 b(L)1419 1329 y(L)1436 1362 y FA(o)1447 1356
y Fi(m)1436 1420 y FA(5)1420 1213 y Fh(\023)1439 1188
y(\023)35 b(S)1524 1213 y(S)1565 1245 y FA(e)28 b(3)p
1548 1265 V 1550 1214 53 2 v 1548 1266 V 1601 1266 2
53 v 1522 1362 a(l)1528 1356 y Fi(m)1518 1420 y FA(3)1539
1329 y Fh(\014)1548 1307 y(\014)20 b(L)1594 1329 y(L)1605
1362 y FA(m)1621 1356 y Fi(m)1610 1420 y FA(2)578 1561
y Fv(Figure)11 b(19:)k(Iterative)c(Deepening)g(SSS*)206
1693 y(The)k(smaller)g(the)h(branching)e(factor)n(,)j(the)e(more)i
(likely)d(this)g(phenomenon)h(is)g(observed.)135 1750
y(The)f(lar)o(ger)g(the)g(branching)f(factor)n(,)i(the)f(more)h
(opportunity)c(there)j(is)g(for)g(best-\256rst)f(search)i(to)135
1806 y(of)o(fset)c(the)g(bene\256ts)g(of)g(increased)g(information)f
(in)h(the)g(transposition)d(table.)135 1933 y Fw(Acknowledgments)135
1999 y Fv(This)i(work)g(has)g(bene\256ted)h(from)g(discussions)d(with)i
(Mark)h(Brockington)e(\(author)h(of)h(Keyano\),)135 2056
y(Yngvi)h(Bjornsson)h(and)g(Andreas)h(Junghanns.)22 b(An)13
b(anonymous)g(referee)i(provided)d(valuable)135 2112
y(feedback.)19 b(The)12 b(support)f(of)h(Jaap)g(van)f(den)h(Herik)g(is)
f(appreciated.)19 b(The)12 b(\256nancial)g(support)e(of)135
2169 y(the)h(Netherlands)g(Or)o(ganization)f(for)i(Scienti\256c)g
(Research)g(\(NWO\),)g(the)f(T)n(inber)o(gen)h(Institute,)135
2225 y(the)f(Natural)g(Sciences)h(and)f(Engineering)f(Research)i
(Council)e(of)i(Canada)g(\(grant)f(OGP-5183\))135 2281
y(and)g(the)g(University)e(of)i(Alberta)g(Central)g(Research)h(Fund)f
(are)h(gratefully)e(acknowledged.)135 2408 y Fw(Refer)o(ences)158
2474 y Fv([1])22 b(L.)17 b(V)m(ictor)f(Allis,)h(Maarten)g(van)f(der)g
(Meulen,)i(and)f(H.)f(Jaap)h(van)f(den)g(Herik.)30 b(Proof-)233
2531 y(number)12 b(search.)k Fp(Arti\256cial)10 b(Intelligence)p
Fv(,)g(66:91\261124,)f(March)j(1994.)158 2622 y([2])22
b(Hans)16 b(J.)g(Berliner)m(.)30 b(The)16 b(B*)g(tree)g(search)h
(algorithm:)24 b(A)16 b(best-\256rst)f(proof)h(procedure.)233
2678 y Fp(Arti\256cial)10 b(Intelligence)p Fv(,)g(12:23\26140,)f(1979.)
892 2803 y(36)p eop
%%Page: 37 37
37 36 bop 158 81 a Fv([3])22 b(Subir)10 b(Bhattacharya)g(and)f(A.)h
(Bagchi.)k(Uni\256ed)c(recursive)f(schemes)h(for)g(search)g(in)g(game)
233 138 y(trees.)34 b(T)m(echnical)17 b(Report)h(WPS-144,)h(Indian)e
(Institute)f(of)i(Management,)i(Calcutta,)233 194 y(1990.)158
284 y([4])i(Subir)10 b(Bhattacharya)g(and)f(A.)h(Bagchi.)k(A)c(faster)g
(alternative)f(to)g(SSS*)i(with)d(extension)h(to)233
341 y(variable)i(memory)m(.)17 b Fp(Information)9 b(pr)n(ocessing)h
(letters)p Fv(,)g(47:209\261214,)f(September)j(1993.)158
431 y([5])22 b(Mark)9 b(Brockington.)g Fp(Impr)n(ovements)e(to)g
(Parallel)f(Alpha-Beta)g(Algorithms)p Fv(.)h(PhD)h(thesis,)233
488 y(proposal,)13 b(Department)f(of)h(Computing)f(Science,)i
(University)d(of)i(Alberta,)g(Edmonton,)233 544 y(Canada,)f(1994.)158
634 y([6])22 b(Michael)16 b(Buro.)29 b(ProbCut:)c(A)16
b(powerful)f(selective)g(extension)f(of)i(the)f Fg(ab)20
b Fv(algorithm.)233 691 y Fp(ICCA)12 b(Journal)p Fv(,)f
(18\(2\):71\26181,)e(June)i(1995.)158 781 y([7])22 b(Murray)16
b(Campbell.)27 b(Algorithms)14 b(for)h(the)g(parallel)g(search)g(of)h
(game)g(trees.)27 b(Master)r(')m(s)233 838 y(thesis,)9
b(Department)f(of)g(Computing)g(Science,)i(University)c(of)j(Alberta,)g
(Canada,)h(August)233 894 y(1981.)158 984 y([8])22 b(Murray)c(Campbell)
g(and)f(T)m(.)h(Anthony)e(Marsland.)33 b(A)17 b(comparison)g(of)h
(minimax)f(tree)233 1041 y(search)12 b(algorithms.)j
Fp(Arti\256cial)9 b(Intelligence)p Fv(,)i(20:347\261367,)d(1983.)158
1131 y([9])22 b(K.)10 b(Coplan.)h(A)e(special-purpose)e(machine)i(for)g
(an)g(improved)f(search)h(algorithm)e(for)i(deep)233
1188 y(chess)14 b(combinations.)22 b(In)14 b(M.R.B.)i(Clarke,)f(editor)
n(,)f Fp(Advances)g(in)f(Computer)g(Chess)h(3,)233 1244
y(April)c(1981)p Fv(,)h(pages)g(25\26143.)f(Per)o(gamon)i(Press,)g
(Oxford,)f(1982.)135 1334 y([10])22 b(Arie)16 b(de)g(Bruin,)h(W)n(im)g
(Pijls,)f(and)g(Aske)f(Plaat.)29 b(Solution)14 b(trees)i(as)g(a)h
(basis)d(for)j(game)233 1391 y(tree)11 b(search.)j(T)m(echnical)9
b(Report)h(EUR-CS-94-04,)h(Department)e(of)h(Computer)g(Science,)233
1447 y(Erasmus)h(University)f(Rotterdam,)h(Rotterdam,)h(The)f
(Netherlands,)f(May)i(1994.)135 1538 y([11])22 b(Arie)11
b(de)g(Bruin,)g(W)n(im)g(Pijls,)f(and)g(Aske)h(Plaat.)k(Solution)9
b(trees)i(as)g(a)g(basis)e(for)i(game-tree)233 1594 y(search.)17
b Fp(ICCA)12 b(Journal)p Fv(,)e(17\(4\):207\261219,)f(December)j(1994.)
135 1684 y([12])22 b(Carl)11 b(Ebeling.)j Fp(All)9 b(the)h(Right)f
(Moves)p Fv(.)15 b(MIT)10 b(Press,)h(Cambridge,)g(Massachusetts,)f
(1987.)135 1775 y([13])22 b(Rainer)13 b(Feldmann,)f(Peter)h
(Mysliwietz,)e(and)h(Burkhard)g(Monien.)19 b Fp(A)12
b(Fully)f(Distributed)233 1831 y(Chess)g(Pr)n(ogram)p
Fv(,)g(pages)g(1\26127.)k(Ellis)10 b(Horwood,)g(1990.)16
b(Editor:)f(Don)10 b(Beal.)135 1922 y([14])22 b(John)15
b(P)-5 b(.)15 b(Fishburn.)26 b Fp(Analysis)14 b(of)g(Speedup)h(in)f
(Distributed)f(Algorithms)p Fv(.)24 b(PhD)15 b(thesis,)233
1978 y(University)10 b(of)h(W)n(isconsin,)f(Madison,)h(1981.)135
2068 y([15])22 b(Feng-Hsiung)15 b(Hsu.)30 b Fp(Lar)n(ge)17
b(Scale)f(Parallelizat)o(ion)d(of)j(Alpha-Beta)f(Sear)n(ch:)26
b(An)16 b(Al-)233 2125 y(gorithmic)c(and)h(Ar)n(chitectural)f(Study)h
(with)g(Computer)g(Chess)p Fv(.)23 b(PhD)14 b(thesis,)f(Carnegie)233
2181 y(Mellon)e(University)m(,)f(Pittsbur)o(gh,)g(P)l(A,)h(February)h
(1990.)135 2272 y([16])22 b(T)m(oshihide)16 b(Ibaraki.)33
b(Generalization)16 b(of)i(alpha-beta)f(and)g(SSS*)h(search)g
(procedures.)233 2328 y Fp(Arti\256cial)10 b(Intelligence)p
Fv(,)g(29:73\261117,)f(1986.)135 2418 y([17])22 b(Hermann)10
b(Kaindl,)f(Reza)h(Shams,)h(and)e(Helmut)g(Horacek.)k(Minimax)c(search)
h(algorithms)233 2475 y(with)15 b(and)g(without)e(aspiration)h
(windows.)26 b Fp(IEEE)15 b(T)m(ransactions)f(on)h(Pattern)f(Analysis)
233 2531 y(and)d(Machine)g(Intelligence)p Fv(,)f(13\(12\):1225\2611235)
o(,)f(December)j(1991.)135 2622 y([18])22 b(Donald)17
b(E.)h(Knuth)f(and)h(Ronald)f(W)l(.)h(Moore.)34 b(An)18
b(analysis)e(of)i(alpha-beta)f(pruning.)233 2678 y Fp(Arti\256cial)10
b(Intelligence)p Fv(,)g(6\(4\):293\261326,)f(1975.)892
2803 y(37)p eop
%%Page: 38 38
38 37 bop 135 81 a Fv([19])22 b(Richard)7 b(E.)g(Korf.)k(Iterative)c
(deepening:)12 b(An)7 b(optimal)g(admissible)g(tree)g(search.)h
Fp(Arti\256cial)233 138 y(Intelligence)p Fv(,)j(27:97\261109,)e(1985.)
135 231 y([20])22 b(Richard)15 b(E.)f(Korf)g(and)g(David)f(W)l(.)h
(Chickering.)23 b(Best-\256rst)14 b(minimax)g(search:)22
b(Othello)233 288 y(results.)14 b(In)c Fp(Pr)n(oceedings)f(of)h(the)g
(12th)f(National)f(Confer)n(ence)j(on)e(Arti\256cial)f(Intelligence)233
344 y(\(AAAI'94\))p Fv(,)22 b(volume)d(2,)i(pages)e(1365\2611370.)f
(American)h(Association)e(for)j(Arti\256cial)233 401
y(Intelligence,)11 b(AAAI)g(Press,)g(August)f(1994.)135
495 y([21])22 b(V)m(ipin)c(Kumar)h(and)f(Laveen)h(N.)g(Kanal.)35
b(Parallel)19 b(branch-and-bound)e(formulations)233 551
y(for)d(AND/OR)e(tree)i(search.)22 b Fp(IEEE)13 b(T)m(ransactions)e(on)
i(Pattern)f(Analysis)f(and)i(Machine)233 608 y(Intelligence)p
Fv(,)e(6\(6\):768\261778,)e(November)i(1984.)135 701
y([22])22 b(V)m(ipin)10 b(Kumar)h(and)f(Laveen)h(N.)g(Kanal.)k(A)c
(general)f(branch)h(and)f(bound)g(formulation)f(for)233
758 y(and/or)j(graph)f(and)h(game)h(tree)f(search.)19
b(In)12 b Fp(Sear)n(ch)g(in)f(Arti\256cial)f(Intelligence)p
Fv(.)h(Springer)233 814 y(V)-5 b(erlag,)12 b(1988.)135
908 y([23])22 b(T)m(.)12 b(Anthony)e(Marsland)i(and)f(Murray)h
(Campbell.)18 b(Parallel)12 b(search)g(of)f(strongly)f(ordered)233
964 y(game)i(trees.)17 b Fp(Computing)9 b(Surveys)p Fv(,)i
(14\(4\):533\261551,)e(December)k(1982.)135 1058 y([24])22
b(T)m(.)13 b(Anthony)d(Marsland,)j(Alexander)e(Reinefeld,)i(and)f
(Jonathan)f(Schaef)o(fer)m(.)21 b(Low)12 b(over)o(-)233
1115 y(head)g(alternatives)e(to)g(SSS*.)18 b Fp(Arti\256cial)9
b(Intelligence)p Fv(,)h(31:185\261199,)f(1987.)135 1209
y([25])22 b(David)12 b(Allen)f(McAllester)m(.)18 b(Conspiracy)11
b(numbers)h(for)g(min-max)g(searching.)17 b Fp(Arti\256cial)233
1265 y(Intelligence)p Fv(,)11 b(35:287\261310,)e(1988.)135
1359 y([26])22 b(Agata)d(Muszycka)g(and)g(Rajjan)g(Shinghal.)36
b(An)18 b(empirical)h(comparison)g(of)g(pruning)233 1415
y(strategies)13 b(in)g(game)h(trees.)22 b Fp(IEEE)13
b(T)m(ransactions)e(on)i(Systems,)h(Man)f(and)f(Cybernetics)p
Fv(,)233 1472 y(15\(3\):389\261399,)d(May/June)i(1985.)135
1566 y([27])22 b(W)l(olfgang)g(Nagl.)46 b(Best-move-proving:)37
b(A)22 b(fast)h(game-tree)g(searching)f(program.)233
1622 y(In)f(D.N.L.)g(Levy)f(and)g(D.F)l(.)i(Beal,)h(editors,)f
Fp(Heuristic)d(Pr)n(ogramming)f(in)i(Arti\256cial)233
1678 y(Intelligence\320The)9 b(\256rst)e(computer)h(olympiad)p
Fv(,)g(pages)h(255\261272.)e(Ellis)g(Horwood,)i(1989.)135
1772 y([28])22 b(Judea)e(Pearl.)41 b(Asymptotical)19
b(properties)g(of)h(minimax)g(trees)g(and)g(game)h(searching)233
1829 y(procedures.)c Fp(Arti\256cial)9 b(Intelligence)p
Fv(,)h(14\(2\):113\261138,)f(1980.)135 1923 y([29])22
b(Judea)13 b(Pearl.)22 b(The)13 b(solution)e(for)j(the)e(branching)g
(factor)i(of)f(the)g(alpha-beta)f(pruning)g(al-)233 1979
y(gorithm)d(and)h(its)f(optimality)m(.)j Fp(Communications)c(of)h(the)h
(ACM)p Fv(,)g(25\(8\):559\261564,)e(August)233 2035 y(1982.)135
2129 y([30])22 b(Judea)16 b(Pearl.)31 b Fp(Heuristics)14
b(\261)i(Intelligent)e(Sear)n(ch)i(Strategies)e(for)i(Computer)f(Pr)n
(oblem)233 2186 y(Solving)p Fv(.)h(Addison-W)l(esley)9
b(Publishing)g(Co.,)j(Reading,)f(MA,)h(1984.)135 2280
y([31])22 b(W)n(im)11 b(Pijls)f(and)h(Arie)f(de)h(Bruin.)k(Another)10
b(view)g(on)h(the)f(SSS*)i(algorithm.)i(In)d(T)m(.)f(Asano,)233
2336 y(T)m(.)17 b(Ibaraki,)i(H.)e(Imai,)j(and)c(T)m(.)h(Nishizeki,)g
(editors,)h Fp(Algorithms,)e(SIGAL)h('90,)i(T)l(okyo)p
Fv(,)233 2392 y(volume)11 b(450)g(of)g Fp(LNCS)p Fv(,)h(pages)f
(211\261220.)f(Springer)o(-V)-5 b(erlag,)11 b(August)f(1990.)135
2486 y([32])22 b(W)n(im)13 b(Pijls)d(and)i(Arie)g(de)g(Bruin.)17
b(Searching)12 b(informed)g(game)g(trees.)18 b(T)m(echnical)11
b(Report)233 2543 y(EUR-CS-92-02,)j(Erasmus)e(University)f(Rotterdam,)j
(Rotterdam,)f(NL,)g(October)g(1992.)233 2599 y(Extended)k(abstract)g
(in)g(Proceedings)g(CSN)h(92,)h(pp.)f(246\261256,)f(and)h(Algorithms)d
(and)233 2656 y(Computation,)c(ISAAC)g(92)g(\(T)m(.)g(Ibaraki,)h(ed\),)
g(pp.)f(332\261341,)f(LNCS)h(650.)892 2803 y(38)p eop
%%Page: 39 39
39 38 bop 135 81 a Fv([33])22 b(W)n(im)9 b(Pijls)f(and)g(Arie)h(de)f
(Bruin.)k(SSS*-like)d(algorithms)e(in)h(constrained)g(memory)m(.)k
Fp(ICCA)233 138 y(Journal)p Fv(,)f(16\(1\):18\26130,)e(March)j(1993.)
135 229 y([34])22 b(W)n(im)14 b(Pijls,)g(Arie)f(de)h(Bruin,)g(and)f
(Aske)g(Plaat.)23 b(Solution)11 b(trees)j(as)f(a)h(unifying)e(concept)
233 285 y(for)f(game)f(tree)g(algorithms.)j(T)m(echnical)d(Report)f
(EUR-CS-95-01,)i(Erasmus)f(University)m(,)233 342 y(Department)h(of)h
(Computer)f(Science,)h(Rotterdam,)g(The)f(Netherlands,)f(April)g(1995.)
135 433 y([35])22 b(Aske)12 b(Plaat.)20 b Fp(Resear)n(ch)12
b(Re:)c(sear)n(ch)k(&)g(Re-sear)n(ch)p Fv(.)20 b(PhD)12
b(thesis,)g(Erasmus)g(University)m(,)233 489 y(Rotterdam,)g(The)f
(Netherlands,)f(1996.)16 b(Forthcoming.)135 581 y([36])22
b(Aske)14 b(Plaat,)i(Jonathan)d(Schaef)o(fer)n(,)18 b(W)n(im)c(Pijls,)h
(and)f(Arie)g(de)h(Bruin.)25 b(Nearly)14 b(optimal)233
637 y(minimax)8 b(tree)h(search?)18 b(T)m(echnical)8
b(Report)g(TR-CS-94-19,)h(Department)f(of)g(Computing)233
693 y(Science,)13 b(University)c(of)i(Alberta,)g(Edmonton,)f(AB,)i
(Canada,)g(December)g(1994.)135 785 y([37])22 b(Aske)12
b(Plaat,)h(Jonathan)e(Schaef)o(fer)n(,)k(W)n(im)d(Pijls,)g(and)g(Arie)g
(de)g(Bruin.)19 b(A)12 b(new)g(paradigm)233 841 y(for)g(minimax)g
(search.)18 b(T)m(echnical)11 b(Report)h(TR-CS-94-18,)g(Department)g
(of)f(Computing)233 898 y(Science,)i(University)c(of)i(Alberta,)g
(Edmonton,)f(AB,)i(Canada,)g(December)g(1994.)135 989
y([38])22 b(Aske)14 b(Plaat,)g(Jonathan)f(Schaef)o(fer)n(,)j(W)n(im)e
(Pijls,)g(and)f(Arie)h(de)g(Bruin.)22 b(Best-\256rst)14
b(\256xed-)233 1045 y(depth)k(game-tree)g(search)g(in)g(practice.)34
b(In)18 b Fp(Pr)n(oceedings)f(of)g(the)h(14th)f(International)233
1102 y(Joint)9 b(Confer)n(ence)g(on)g(Arti\256cial)e(Intelligence)h
(\(IJCAI-95\))p Fv(,)j(volume)e(1,)h(pages)f(273\261279,)233
1158 y(August)h(1995.)135 1249 y([39])22 b(Aske)12 b(Plaat,)g(Jonathan)
e(Schaef)o(fer)n(,)k(W)n(im)e(Pijls,)f(and)h(Arie)f(de)h(Bruin.)17
b(A)12 b(minimax)g(algo-)233 1306 y(rithm)c(better)g(than)f
(Alpha-Beta?)16 b(No)7 b(and)h(Yes.)j(T)m(echnical)d(Report)g(95-15,)g
(University)e(of)233 1362 y(Alberta,)14 b(Department)e(of)h(Computing)f
(Science,)i(Edmonton,)f(AB,)g(Canada)h(T6G)e(2H1,)233
1419 y(May)g(1995.)135 1510 y([40])22 b(Alexander)10
b(Reinefeld.)k(An)9 b(improvement)h(of)g(the)f(Scout)h(tree-search)g
(algorithm.)j Fp(ICCA)233 1566 y(Journal)p Fv(,)e(6\(4\):4\26114,)f
(1983.)135 1658 y([41])22 b(Alexander)14 b(Reinefeld.)25
b Fp(Spielbaum)13 b(Suchverfahr)n(en)p Fv(.)24 b
(Informatik-Fachberichte)13 b(200.)233 1714 y(Springer)e(V)-5
b(erlag,)12 b(1989.)135 1805 y([42])22 b(Alexander)15
b(Reinefeld)h(and)f(T)m(.)h(Anthony)d(Marsland.)28 b(Enhanced)15
b(iterative-deepening)233 1862 y(search.)49 b Fp(IEEE)23
b(T)m(ransactions)e(on)i(Pattern)f(Analysis)f(and)i(Machine)f
(Intelligence)p Fv(,)233 1918 y(16\(7\):701\261710,)9
b(July)h(1994.)135 2009 y([43])22 b(Alexander)11 b(Reinefeld)g(and)g
(Peter)h(Ridinger)m(.)17 b(T)n(ime-ef)o(\256cient)12
b(state)f(space)g(search.)17 b Fp(Arti-)233 2066 y(\256cial)11
b(Intelligence)p Fv(,)f(71\(2\):397\261408,)f(1994.)135
2157 y([44])22 b(Alexander)9 b(Reinefeld,)h(Jonathan)e(Schaef)o(fer)n
(,)j(and)e(T)m(.)g(Anthony)f(Marsland.)13 b(Information)233
2213 y(acquisition)c(in)i(minimal)f(window)g(search.)16
b(In)11 b Fp(Pr)n(oceedings)f(of)g(the)h(International)d(Joint)233
2270 y(Confer)n(ence)16 b(on)g(Arti\256cial)e(Intelligence)h
(\(IJCAI-85\))p Fv(,)j(volume)d(2,)j(pages)d(1040\2611043,)233
2326 y(1985.)135 2418 y([45])22 b(Igor)13 b(Roizen)f(and)g(Judea)g
(Pearl.)19 b(A)13 b(minimax)f(algorithm)f(better)h(than)f(alpha-beta?)
19 b(Yes)233 2474 y(and)11 b(No.)17 b Fp(Arti\256cial)9
b(Intelligence)p Fv(,)h(21:199\261230,)f(1983.)135 2565
y([46])22 b(Jonathan)10 b(Schaef)o(fer)m(.)19 b Fp(Experiments)9
b(in)i(Sear)n(ch)g(and)g(Knowledge)p Fv(.)16 b(PhD)11
b(thesis,)f(Depart-)233 2622 y(ment)h(of)f(Computing)f(Science,)i
(University)d(of)i(W)l(aterloo,)h(Canada,)g(1986.)i(A)m(vailable)c(as)
233 2678 y(University)h(of)h(Alberta)g(technical)f(report)h(TR86-12.)
892 2803 y(39)p eop
%%Page: 40 40
40 39 bop 135 81 a Fv([47])22 b(Jonathan)15 b(Schaef)o(fer)m(.)29
b(The)15 b(history)f(heuristic)g(and)h(alpha-beta)g(search)g
(enhancements)233 138 y(in)g(practice.)27 b Fp(IEEE)14
b(T)m(ransactions)g(on)g(Pattern)g(Analysis)f(and)i(Machine)f
(Intelligence)p Fv(,)233 194 y(11\(1\):1203\2611212,)9
b(November)i(1989.)135 288 y([48])22 b(Jonathan)8 b(Schaef)o(fer)m(.)14
b(Conspiracy)8 b(numbers.)k Fp(Arti\256cial)7 b(Intelligence)p
Fv(,)h(43:67\26184,)g(1990.)135 382 y([49])22 b(Jonathan)12
b(Schaef)o(fer)n(,)k(Joseph)d(Culberson,)g(Norman)g(T)n(reloar)n(,)i
(Brent)e(Knight,)g(Paul)g(Lu,)233 438 y(and)f(Duane)g(Szafron.)19
b(A)12 b(world)f(championship)f(caliber)i(checkers)g(program.)18
b Fp(Arti\256cial)233 495 y(Intelligence)p Fv(,)11 b
(53\(2-3\):273\261290,)e(1992.)135 588 y([50])22 b(David)13
b(Slate)h(and)f(Larry)h(Atkin.)21 b(Chess)13 b(4.5)h(\320)g(The)f
(Northwestern)f(University)g(chess)233 645 y(program.)23
b(In)13 b(P)-5 b(.W)l(.)14 b(Frey)m(,)h(editor)n(,)e
Fp(Chess)g(Skill)g(in)f(Man)h(and)g(Machine)p Fv(,)g(pages)g
(82\261118,)233 701 y(New)f(Y)-5 b(ork,)11 b(1977.)g(Springer)o(-V)-5
b(erlag.)135 795 y([51])22 b(Geor)o(ge)15 b(C.)h(Stockman.)26
b(A)15 b(minimax)g(algorithm)f(better)g(than)g(alpha-beta?)38
b Fp(Arti\256cial)233 852 y(Intelligence)p Fv(,)11 b
(12\(2\):179\261196,)e(1979.)135 945 y([52])22 b(Jean-Christophe)14
b(W)l(eill.)26 b(The)15 b(NegaC*)g(search.)26 b Fp(ICCA)16
b(Journal)p Fv(,)f(15\(1\):3\2617,)f(March)233 1002 y(1992.)892
2803 y(40)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
